Saya memperkenalkan diri kepada Git dengan mengikuti tutorial ini:
Semuanya berfungsi dengan baik sampai bagian di mana repo ditambahkan ke mesin lokal saya:
git remote add nfsn ssh://USERNAME@NFSNSERVER/home/private/git/REPONAME.git
(Setelah mengganti USERNAME, NFSNSERVER, dan REPOAME dengan nama yang benar) Saya menerima kesalahan:
fatal: Not a git repository (or any of the parent directories): .git
Bisakah Anda membantu saya melewati langkah ini?
git init
tetapi juga pastikan tidak ada subdirektori Anda yang memiliki.git
folder sendiriJawaban:
Apakah Anda init repositori Git lokal, di mana remote ini seharusnya ditambahkan?
Apakah direktori lokal Anda memiliki
.git
folder?Coba
git init
.sumber
.git
folder saya hilang. Apakahgit init
sama dengan menghapus folder repositori, lalugit clone ...
. Yang perlu saya lakukan adalahpull
.git
folder Anda hilang, Anda dapat menjalankangit init
lagi untuk membuat yang baru. Anda harus menambahkan ulang remote terlebih dahulu sebelum dapat menariknya.jalal@klein:~/computer_vision/py-faster-rcnn$ git add -A fatal: Not a git repository: caffe-fast-rcnn/../.git/modules/caffe-fast-rcnn
Anda akan mendapatkan kesalahan ini jika Anda mencoba menggunakan perintah Git ketika direktori kerja Anda saat ini tidak ada dalam repositori Git. Itu karena, secara default, Git akan mencari
.git
direktori repositori (di dalam root proyek?), Seperti yang ditunjukkan oleh jawaban saya untuk "Git tidak akan menampilkan log kecuali saya ada di direktori proyek" :Anda harus
cd
masuk ke repositori / copy pekerjaan, atau Anda tidak menginisialisasi atau mengkloning repositori di tempat pertama, dalam hal ini Anda perlu menginisialisasi repo di direktori tempat Anda ingin meletakkan repo:atau mengkloning repositori
sumber
git init
. Setelah membaca jawaban Anda, saya menggunakan ini beberapa kali pada repositori yang saya lakukan klon, tetapi tidak dikenali. Jadi, tampaknya aman ketika dijalankan dari pohon direktori yang seharusnya menjadigit repository
, memiliki semua file di direktori git, tetapi diklaim tidakfatal: Not a git repository (or any parent up to mount point
Masalah saya adalah bahwa untuk beberapa cegukan dengan OS saya perintah apa pun pada repositori lokal saya berakhir dengan "fatal: Bukan repositori git (atau direktori induk mana pun): .git", dengan menyertakan perintah fsck.
Masalahnya adalah file HEAD kosong .
Saya dapat menemukan nama cabang aktual yang telah saya kerjakan di .git / refs / heads dan kemudian saya melakukan ini:
Itu berhasil.
sumber
CATATAN: ini tidak menjawab masalah umum, yang merupakan masalah OP, tetapi untuk masalah berbeda di mana pesan kesalahan ini mungkin muncul. Saya tidak merasa ingin melakukan pertanyaan baru hanya untuk menuliskan jawaban ini, beri tahu saya jika saya harus melakukannya: P
Saya menghadapi situasi, kemungkinan besar karena beberapa kerusakan pada crash yang saya alami, bahwa saya mendapatkan kesalahan ini bahkan ketika
.git
memang ada.Karena saya tidak memiliki sesuatu yang benar-benar perlu dilestarikan, saya hanya pergi dengan cara boneka, dan ...
Masih tidak berfungsi, seperti misalnya
git log
kembalifatal: bad default revision 'HEAD'
. Jarak jauh ada di sana, jadi aku melakukannyagit fetch --all
dan baru sajagit reset --hard origin/master
untuk mendapatkan diri saya ke keadaan repo sebelumnya.Perhatikan bahwa jika ada beberapa perubahan yang tidak dikomit, Anda dapat melihatnya dengan
git status
,git diff
dan seterusnya. Lalu sajagit diff yourfile > patch
sebelum menjalankan reset.Setidaknya bagi saya reflog (
git reflog
) menghilang sepenuhnya. Karenanya, jika Anda melakukan reset, dan ada beberapa perubahan yang ingin Anda cegah, saya tidak yakin Anda bisa mendapatkannya kembali setelah reset lagi. Jadi, pastikan bahwa Anda memiliki semua perubahan yang tidak dapat Anda lewatkan, pada akhirnya hanya dengan menyalin klon sebelum mencoba ini.sumber
git init
dangit fetch --all
memang memperbaiki masalah ini.Cukup ketik yang berikut ini di cmd atau git shell Anda atau terminal lain:
sumber
Masalah ini terjadi pada saya setelah saya memindahkan lokasi proyek git pada sistem berkas. Ketika saya menjalankan beberapa perintah git kesalahan terjadi, misalnya:
Saya menemukan di
/home/rospasta/path_old/gitprojecta/.travis/.git
jalur absolut dari lokasi lama proyek ditulis. Memperbarui jalur lokasi baru ini secara manual menyelesaikan masalah bagi saya.Jadi masalah saya mungkin atau mungkin bukan masalah git, tetapi HTH.
sumber
Jika itu membantu orang lain, saya mendapat pesan kesalahan ini setelah secara tidak sengaja menghapus .git / objek /
Mengembalikannya memecahkan masalah.
sumber
Di baris perintah / CLI, Anda akan mendapatkan kesalahan ini jika direktori Anda saat ini BUKAN repositori. Jadi, Anda harus terlebih dahulu CD ke repo.
sumber
Mungkin terlambat tetapi solusi lain yang mungkin membantu pengunjung masa depan. Hapus dulu
.git
direktori lama -Kemudian inisialisasi repo git lagi
sumber
fatal
kesalahan meskipun.git
folder ada.Sepertinya Anda tidak pergi ke folder spesifik Anda. Sebagai contoh, jika saya mengerjakan proyek bernama bugsBunny dan disimpan di folder d: / work: code, jadi pertama-tama Anda harus pergi ke folder itu menggunakan cd d: / work / code / bugsBunny, lalu setelah itu Anda dapat terus menggunakan perintah git Anda.
sumber
Bahkan saya punya masalah yang sama. saya menulis skrip shell yang akan membuat cadangan semua kode saya ke repo git saya pada hari kerja seminggu di 17:55 dengan menggunakan crontab. dengan melihat log cron saya menemukan masalah yang disebutkan di atas.
masalah di atas hanya muncul ketika Anda mencoba menjalankan perintah git dari direktori non-gir (yaitu dari direktori lain yang bukan merupakan copy pekerjaan). untuk memperbaiki ini tambahkan
-C <git dir>
dalam perintah git Anda mengeksekusi sehinggagit status
akangit -C /dir/to/git status
dangit add -A
akangit -C /dir/to/git -A
.sumber
Dalam kasus saya, saya menggunakan Tortoise SVN dan membuat kesalahan dengan juga menggunakan fungsi Visual Studio GIT pada saat yang sama. Itu membuat Visual Studio mengunci file HEAD di dalam folder .git sehingga VS atau Tortoise tidak dapat mengakses repo dan saya mendapatkan kesalahan "fatal: Not a git repo ..." dari kedua aplikasi.
Larutan:
sumber
Untuk itu Anda perlu memasukkan satu perintah yang tidak ada dari perintah bitbucket
Silakan coba git init.
sumber
dalam kasus saya, saya memiliki masalah yang sama ketika saya mencoba perintah git - (misalnya status git) menggunakan windows cmd. jadi apa yang saya lakukan adalah setelah menginstal git untuk jendela https://windows.github.com/ dalam variabel lingkungan, tambahkan path kelas git pada "PATH" yang dapat diubah. biasanya git akan diinstal pada C: / user / "username" / appdata / local / git / bin tambahkan ini pada PATH dalam variabel lingkungan
dan satu hal lagi di cmd pergi ke repositori git Anda atau cd ke tempat klon Anda berada di jendela Anda biasanya mereka akan disimpan pada dokumen di bawah dokumen github cd / Github / proyek Anda setelah itu Anda dapat memiliki perintah git
Terima kasih
sumber
Pergi ke folder sumber Anda di mana repo lokal disimpan, misalnya milik saya ditemukan di c: / GitSource, klik kanan saat berada di folder, klik git bash di sini, lalu git status ....
sumber
GIT_DIR seharusnya tidak disetel:
unset GIT_DIR
sumber
Dalam kasus saya, file .git / HEAD rusak (hanya berisi titik). Jadi saya mengeditnya dan mengganti isinya dengan:
ref: refs/heads/master
dan mulai bekerja lagi.
sumber
Bagi saya, ini terkait dengan kepemilikan yang salah dalam
.git/
jalur saya .root
dimiliki.git/HEAD
dan.git/index
, mencegahjenkins
pengguna menjalankan pekerjaan.sumber
.git/HEAD
dan.git/index
untukroot:root
, saya masih dapat menambahkan remote tanpa kesalahan. Ketika saya mengubah kepemilikan seluruh.git
direktori untukroot
, saya mendapatkan error yang berbeda:error: could not lock config file .git/config: Permission denied
.Galat di bawah sepertinya Gits tidak menemukan file .git di direktori saat ini sehingga melempar pesan kesalahan.
Oleh karena itu ubahlah ke direktori ke direktori repositori tempat Anda telah checkout kode dari git dan kemudian jalankan perintah ini.
sumber
Dalam kasus saya, saya menemukan bahwa git di windows menjadi case sensitive untuk huruf drive dari beberapa titik.
Setelah memutakhirkan git binary pada perintah windows cli yang digunakan untuk bekerja dihentikan. misalnya path dalam skrip adalah D : \ bla \ file.txt sedangkan perintah git hanya diterima d : \ bla \ file.txt
sumber
git berfungsi dengan baik untuk menjadi dan tiba-tiba mulai menunjukkan
fatal: Not a git repository (or any of the parent directories): .git
pesan ini .Bagi saya tidak yakin apa yang rusak di folder .git, saya lakukan
git clone ** newfolder
dan menyalin seluruh folder .git ke folder saya yang rusak / lama di mana saya membuat perubahan sebelum git mulai menampilkan pesan kesalahan ..Semuanya kembali normal dan git juga mengenali file saya yang diubah / tidak dipentaskan.
sumber
mengembalikan
.git/ORIG_HEAD
file repo root .git dan lainnyaSaya mendapatkan kesalahan ini setelah memulihkan dari cadangan, ternyata file-file yang terdapat dalam root direktori .git tidak mencapai target, tetapi semua subfolder melakukannya pada awalnya saya pikir repo itu masih utuh.
Saya memperbaikinya dengan mengembalikan file root.
sumber
Saya punya masalah dengan plugin Jenkins Git setelah masalah otentikasi dengan GitLab. Jenkins melaporkan 'hudson.plugins.git.GitException: [...] stderr: GitLab: Proyek yang Anda cari tidak dapat ditemukan. fatal: Tidak bisa membaca dari repositori jarak jauh. '
Namun jika saya melakukan 'git clone' atau 'git fetch' langsung dari kotak Jenkins (command line) itu bekerja tanpa masalah.
Masalah ini diatasi dengan menghapus seluruh direktori / ruang kerja di folder pekerjaan Jenkins untuk pekerjaan tertentu, misalnya
Agaknya folder .git lokal sudah basi / rusak?
sumber
Ini mungkin juga karena izin. Periksa izin pemilik / grup dan pastikan Anda memiliki izin yang memadai untuk mengakses data itu. Dalam kasus saya, saya menemukan kesalahan ini ketika menjalankan "git status" di repo yang kepemilikannya disetel ke root: root. Menjalankan "git status" sebagai root menyelesaikan masalah saya. Atau, jika Anda tidak ingin kepemilikan pengguna / grup menjadi root: root, beri tahu repo sesuatu yang Anda punya akses.
sumber
Saya punya masalah ini dan memperbaikinya dengan menambahkan file README.md
sumber
Dalam kasus saya, sistem crash menyebabkan file HEAD rusak. Panduan ini menunjukkan cara memperbaikinya dan masalah lain yang mungkin Anda temui.
https://git.seveas.net/repairing-and-recovering-broken-git-repositories.html
sumber