Saya memperkenalkan diri saya untuk Git dengan mengikuti tutorial ini:
Semuanya bekerja dengan baik sampai bagian mana repo ditambahkan ke mesin lokal:
git remote add nfsn ssh://USERNAME@NFSNSERVER/home/private/git/REPONAME.git
(Setelah mengganti USERNAME, NFSNSERVER, dan REPOAME dengan nama-nama yang benar) saya menerima kesalahan:
fatal: Not a git repository (or any of the parent directories): .git
Dapatkah anda membantu saya bisa melewati langkah ini?
Anda'll mendapatkan kesalahan ini jika anda mencoba untuk menggunakan perintah Git ketika direktori kerja anda saat ini tidak berada dalam sebuah repositori Git. Itu karena, secara default, Git akan mencari .git
direktori repositori (dalam proyek root?), seperti yang ditunjukkan oleh jawaban saya untuk pertanyaan "Git won't menunjukkan log kecuali saya di proyek direktori":
Menurut official Kernel Linux Git dokumentasi,
GIT_DIR
adalah [variabel lingkungan] set untuk mencari.git
direktori (di saat ini direktori kerja?) secara default:Jika
GIT_DIR
variabel lingkungan diatur kemudian menentukan path untuk menggunakan bukan default.git
untuk dasar repositori.
Anda'll perlu untuk cd
ke repositori/kerja copy, atau anda didn't menginisialisasi atau menduplikasi sebuah repositori di tempat pertama, dalam hal ini anda perlu untuk menginisialisasi sebuah repo di direktori di mana anda ingin menempatkan repo:
git init
atau menduplikasi sebuah repositori
git clone <remote-url>
cd <repository>
Masalah saya adalah bahwa untuk beberapa cegukan dengan OS saya setiap perintah pada repositori lokal berakhir dengan "fatal: Tidak git repositori (atau apapun dari direktori induk): .git", dengan perintah fsck disertakan.
Masalahnya adalah KEPALA kosong file.
Saya mampu menemukan sebenarnya nama cabang I've bekerja di dalam .git/ref/kepala dan kemudian saya melakukan ini:
echo 'ref: refs/heads/ML_#94_FILTER_TYPES_AND_SPECIAL_CHARS' > .git/HEAD
Itu bekerja.
CATATAN: ini tidak jawaban untuk masalah umum, yang OP masalah, tapi untuk masalah yang berbeda di mana pesan kesalahan ini dapat muncul. Aku tidak merasa seperti melakukan pertanyaan baru hanya untuk menulis jawaban ini turun, katakan padaku jika saya harus melakukan yang sebaliknya :P
Saya punya situasi, kemungkinan besar karena beberapa kasus korupsi tertentu kecelakaan yang saya punya, yang saya punya kesalahan ini bahkan ketika .git
memang ada.
smar@aaeru ~/P/Nominatim> git status
fatal: Not a git repository (or any of the parent directories): .git
smar@aaeru ~/P/Nominatim [128]> ls .git
COMMIT_EDITMSG config* FETCH_HEAD HEAD index logs/ modules/ objects/ ORIG_HEAD packed-refs
Karena saya tidak punya apa-apa yang benar-benar dibutuhkan melestarikan, aku hanya pergi dengan dummy cara, dan melakukan...
smar@aaeru ~/P/Nominatim [128]> git init
Reinitialized existing Git repository in /home/smar/Projektit/Nominatim/.git/
Masih tidak bekerja sekalipun, seperti misalnya git log
kembali fatal: buruk default revisi 'HEAD'
. Remote yang ada, jadi aku git fetch-semua
dan kemudian git reset --hard asal/master
untuk mendapatkan diriku ke negara repo sebelumnya.
Perhatikan bahwa jika ada beberapa perubahan yang belum dikomit, anda dapat melihat mereka dengan git status
, git diff
dan sebagainya. Kemudian hanya git diff yourfile > patch
sebelum menjalankan ulang.
Setidaknya bagi saya reflog (git reflog
) benar-benar menghilang. Oleh karena itu, jika anda melakukan reset, dan ada beberapa perubahan yang anda ingin mencegah, aku tidak yakin kau bisa mendapatkan mereka kembali setelah ulang lagi. Jadi, pastikan bahwa anda memiliki semua perubahan yang anda tidak bisa kehilangan didukung, akhirnya dengan hanya menyalin clone sebelum mencoba ini.
Masalah ini terjadi kepada saya setelah saya pindah lokasi git proyek pada filesystem. Ketika aku berlari beberapa perintah git kesalahan terjadi, misalnya:
$ git status
fatal: Not a git repository: /home/rospasta/path_old/gitprojecta/.git/modules/.travis
Saya menemukan di /home/rospasta/path_old/gitprojecta/.travis/.git
path absolut dari lokasi lama proyek itu ditulis. Secara manual memperbarui path lokasi baru diselesaikan masalah bagi saya.
Jadi masalah saya mungkin atau mungkin tidak menjadi git masalah, tapi HTH.
Sepertinya kau tidak akan pergi ke folder tertentu. Misalnya, jika saya bekerja pada sebuah proyek bernama bugsBunny dan disimpan dalam folder d:/work:code jadi pertama-tama anda harus pergi ke folder menggunakan cd d:/work/code/bugsBunny , kemudian setelah itu anda dapat melanjutkan menggunakan perintah git.
Bahkan saya punya masalah yang sama. saya menulis sebuah skrip shell yang akan backup semua kode saya untuk saya git repo di hari kerja dari minggu pada pukul 17:55 dengan menggunakan crontab. dengan melihat log dari cron saya menemukan masalah yang disebutkan di atas.
masalah di atas hanya datang ketika anda mencoba untuk menjalankan perintah git dari non-gir dir(yaitu dari dir yang tidak bekerja copy). untuk memperbaiki hal ini menambah -C <git dir>
dalam perintah git anda mengeksekusi seperti yang
git status
akan git -C /dir/untuk/git status
dan git add -A
akan menjadi git -C /dir/untuk/git -A
.
Dalam kasus saya saya menggunakan Tortoise SVN dan membuat kesalahan untuk juga menggunakan Visual Studio GIT fungsi pada waktu yang sama. Yang membuat Visual Studio mengunci file KEPALA di dalam .git folder agar tidak LEBIH atau kura-Kura bisa mengakses repo dan aku punya "fatal: Tidak repo git..." kesalahan dari kedua aplikasi.
Solusi:
dalam kasus saya, saya punya masalah yang sama saat saya mencoba git-perintah (misalnya git status) menggunakan windows cmd. jadi apa yang saya lakukan setelah menginstall git untuk jendela https://windows.github.com/ dalam variabel lingkungan, tambahkan kelas jalan git pada "JALAN" varaiable. biasanya git akan diinstal pada C:/user/"username"/appdata/local/git/bin tambahkan ini di JALAN di lingkungan variabel
dan satu hal lagi di cmd pergi ke repositori git atau cd ke mana clone anda berada di jendela biasanya mereka akan disimpan pada dokumen-dokumen di bawah github cd Dokumen/Github/yourproject setelah itu anda dapat memiliki setiap perintah git
terima kasih
Kesalahan di bawah ini sepertinya Gits didn't menemukan .git file dalam direktori saat ini jadi melemparkan pesan kesalahan.
Oleh karena itu untuk mengubah direktori ke direktori repositori di mana anda harus checkout kode dari git dan kemudian menjalankan perintah ini.
git adalah bekerja dengan baik untuk menjadi dan semua tiba-tiba mulai menunjukkan fatal: Tidak git repositori (atau apapun dari direktori induk): .git
pesan.
Bagi saya tidak yakin apa yang rusak dalam .git folder, saya melakukan git clone ** barufolder
dan disalin seluruh .git folder saya yang rusak/tua folder di mana saya membuat perubahan sebelum git mulai menunjukkan pesan kesalahan..
Semuanya kembali normal dan git juga diakui saya berubah/un-dipentaskan file.
Dalam kasus saya, saya menemukan bahwa git di windows menjadi hal sensitif untuk huruf drive dari beberapa titik.
Setelah upgrade git biner pada windows perintah cli yang digunakan untuk berhenti bekerja. misalnya jalan di script itu D:\bla\file.txt sementara git perintah yang diterima hanya d:\bla\file.txt