it-swarm-id.com

Git - fatal: Tidak dapat membuat '/path/my_project/.git/index.lock': File ada

Saya masih mendapatkan pesan kesalahan ini, ketika saya mencoba untuk memindahkan pohon proyek saya ke git repo.

Saya memeriksa izin direktori saya dengan proyek ini dan ini ditetapkan pada 777. Di terminal dalam direktori dengan my_project saya mengatur:

git init

dan kemudian jika saya mencoba

git add.

atau

git commit -m "unggahan pertama"

jadi saya akan mendapatkan kesalahan

fatal: Unable to create '/path/my_proj/.git/index.lock': File exists.

If no other git process is currently running, this probably means a
git process crashed in this repository earlier. Make sure no other git
process is running and remove the file manually to continue.

Saya mencoba juga membuat repo baru dan di sana untuk melakukan itu, tapi sayangnya masih pesan kesalahan yang sama ... Saya sudah agak putus asa, saya mencoba mencari solusinya sepanjang sore, tetapi masih belum berhasil ...

Apa penyebab masalahnya?

703
user984621

Mencoba

rm -f ./.git/index.lock

Di direktori repositori Anda. Pesan kesalahan agak eksplisit tentang apa yang menyebabkannya biasanya, jadi jika Anda tidak memiliki proses git lain berjalan (yang merupakan kasus normal), silakan dan hapus file itu.

1516
Raphael R.

Di Windows, lakukan ini di Prompt perintah dari direktori repo:

cd .git
del index.lock

UPDATE: Saya telah menemukan bahwa saya tidak perlu melakukan prosedur ini jika saya menunggu beberapa saat setelah saya menutup file yang saya kerjakan sebelum saya mencoba untuk beralih cabang. Saya pikir kadang-kadang masalah ini terjadi karena git mengejar ketinggalan dengan sistem file yang lambat. Lainnya, lebih banyak pengembang yang berpengetahuan git bisa berpadu jika mereka pikir ini benar.

145
ssaltman

Coba keluar dari Xcode - karena ini adalah klien git, Anda harus keluar dari Xcode untuk menghindari masalah dengan git di baris perintah.

29
Jeff Grimes

Saya mengalami masalah yang sama. Saya mencoba

rm -f ./.git/index.lock 

dan konsol memberi saya pesan kesalahan. Kemudian, saya mencoba

rm --force ./.git/index.lock

dan itu berhasil.

Semoga berhasil! Ini berfungsi super

17
Olivia Steger

Di direktori .git saya, tidak ada file index.lock. Jadi, menggunakan Git Bash Shell, saya berlari ...

cd .git
touch index.lock

Perintah sentuh membuat file, dan masalahnya hilang.

13
John Livermore

Apakah Anda secara tidak sengaja membuat repositori menggunakan pengguna root?

Kebetulan saya membuat repositori git sebagai pengguna root.

Saya menghapus repositori git dan membuatnya lagi tanpa Sudo dan berfungsi.

9
hktang

saya memiliki masalah ini juga, dan saya merasa ini benar-benar masalah izin. jadi saya melakukan ini:

Sudo chown -R : .git #change group
Sudo chmod -R 775 .git #change permission

maka ererything itu hebat, dan gaa sukses.

dan kemudian saya menggunakan gp, saya mendapatkan kesalahan lain hampir kesalahan yang sama

Sudo chown -R "${USER:-$(id -un)}" . #use this can fix the problem

Di Mac OS X lakukan ini di Prompt perintah dari direktori repo:

cd .git
rm index.lock
6
Rick Wong

Jika setelah Anda mencoba:

rm -f ./.git/index.lock

anda mendapatkan:

rm: tidak dapat membatalkan tautan 'index.lock': Izin ditolak

Coba tutup semua perangkat lunak yang mungkin menggunakan Git. Saya memiliki Source Tree dan Visual Studio dibuka dan setelah menutup kedua perintah itu bekerja.

5
Boos

Jika Anda menggunakan salah satu #intelliJ IDE dan menerima pesan ini (saya menggunakan #webtorm), harap perhatikan bahwa masalah ini dapat terjadi karena menyembunyikan salah satu folder proyek (pengaturan di dalam), dan ini dapat mencegah GITdari penggabungan.

5
neoswf

Di Windows, saya hanya berhasil menghapus file kunci setelah Mengakhiri Tugas untuk semua proses Git Windows (32bit) di Task Manager.

Solusi (Menang 10)

1. Akhiri Tugas untuk semua proses Git Windows (32bit) di Task Manager

2. Hapus file .git/index.lock

Gunakan ini:

rm -Force ./.git/index.lock
4
Manoj Tarkar

Solusi yang berhasil bagi saya adalah menutup teks luhur karena proses running git dimulai oleh editor.

4
snorkelzebra

Dalam kasus saya solusinya adalah menunggu 5 menit. Jelas operasi saya sebelumnya masih berjalan tetapi saya tidak tahu. Saya menggunakan tortoise git di windows.

4
rdans

Anda memiliki masalah dengan .git/index.lock jadi hapus dengan menggunakan perintah di bawah ini.

Perintah:

Sudo rm -rf .git/index.lock

3
Pramod Kharade

Saya pikir ada solusi yang lebih baik daripada menghapus file (dan Tuhan tahu apa yang akan terjadi selanjutnya ketika menghapus/membuat file dengan Sudo):

git gc
3
Roy Segall

Semua perintah hapus tidak berfungsi untuk saya yang saya lakukan adalah menavigasi di sana menggunakan jalur yang disediakan di git dan kemudian menghapusnya secara manual.

2
Aaron Rabinowitz

Jika ini submodule, coba ini di direktori repositori Anda:

rm -f ../.git/modules/submodule-name/index.lock

ganti submodules-name menjadi nama submodule Anda.

2
Kharda

Bagi saya itu

rm -r .git-credentials.lock 
2
N Jay

Resolusi untuk masalah ini adalah menyalin tiga file xcode/proyek di direktori dan kemudian membuat direktori baru (di lain tempat) dan kemudian menempelkan tiga file/direktori.

2
G unitzo

Juga kita bisa membunuh proses git. Saya menerima masalah yang sama melalui aplikasi GUI untuk git, ada masalah dan git membuat beberapa pekerjaan tanpa batas. Proses pembunuhan akan membekukan aplikasi yang bekerja dengan git, cukup restart saja dan semuanya akan beres.

2
kaspartus

JANGAN GUNAKAN Plugin Atom platformio-atom-ide-terminal untuk melakukan ini. GUNAKAN TERMINAL DARI DISTRO ANDA SECARA LANGSUNG.

Saya terus mendapatkan kesalahan ini saat rebasing/squishing melakukan dan tidak tahu mengapa karena saya telah melakukannya sebelumnya beberapa kali.

Tidak masalah berapa kali saya akan menghapus file index.lock, setiap kali itu akan gagal.

Ternyata itu karena saya menggunakan plugin ATOM EDITOR terminal. Setelah saya menggunakan terminal yang dikirimkan bersama Ubuntu, ia bekerja seperti pesona.

2
juliangonzalez

Saya telah mengubah izin direktori saya sehingga saya tahu itu bisa terkait izin. Dalam kasus saya, saya menghapus pengguna yang tidak diinginkan (_www) dan kemudian menerapkan izin baca/tulis untuk semua orang dengan menerapkan mengubah semua konten. Ini di Mac

 Directory Permission on Mac

2
Hammad Khan

Dalam hal, untuk alasan apa pun, Anda melakukan rebase dari folder yang disinkronkan oleh layanan cloud (dropbox, drive, OneDrive, dll), Anda harus menjeda atau mematikan sinkronisasi karena akan mengganggu izin selama rebase .

2
Dmase05

cukup buka D: /project/androidgc/.git/ direktori ini dan hapus index.lock ini berfungsi untuk saya.

1
avez raj

Sedikit menambahkan karena saya harus menggunakan jawaban yang berbeda untuk mendapatkan solusi yang sebenarnya (untuk saya).

Ini melakukannya untuk saya:

  1. Buka cabang yang sedang Anda kerjakan
  2. Buka terminal (saya menggunakan terminal di Git GUI)
  3. Perintah mengetik: cd .git
  4. Perintah mengetik: rm -f index.lock

Beberapa mungkin harus menggunakan -Force alih-alih -f. Anda dapat memeriksa baris perintah terminal Anda dengan menjalankan perintah di terminal Anda seperti: git help.

1
Ronnie Oosting

Saya mencobanya dengan banyak metode beberapa kali tetapi yang ini berhasil untuk saya (saya menggunakan terminal PyCharm):

$ cd .git/

$ rm -f index.lock

Kemudian saya mencoba lagi untuk membuat git repo kosong:

$ git init

$ git add .

$ git commit -m "commit msg"
1
rust

Jika seseorang menggunakan git svn, saya memiliki masalah yang sama tetapi tidak dapat menghapus file karena tidak ada !. Setelah memeriksa izin, menyentuh file dan menghapusnya, dan saya tidak ingat apa lagi, ini berhasil:

  • checkout cabang utama.
  • git svn rebase (pada master)
  • checkout cabang yang sedang Anda kerjakan
  • git svn rebase
1
cauchy