Git SVN error: proses Git mogok di repositori sebelumnya

97

Saya hanya mencoba melakukan perubahan pada master Git. Dari apa yang saya baca, tampaknya idenya adalah menghapus file kunci. Pesan itu berbunyi:

pastikan tidak ada proses Git lain yang berjalan dan hapus file secara manual

Mungkin ada yang tahu, file mana yang harus dihapus dan bagaimana cara menghapusnya?

Pinchas K
sumber
1
Bisakah Anda menampilkan pesan kesalahan lengkap termasuk perintah yang Anda jalankan?
Schwern
saya menggunakan kura-kura sekalipun. dapatkah Anda menghapus file itu di kura-kura atau hanya di cangkangnya?
Pinchas K
Anda mungkin harus melakukannya di shell atau file explorer. Anda mungkin harus menampilkan file tersembunyi.
Schwern
kesalahan penuh adalah ini: fatal: Tidak dapat membuat file 'C / etc / .git / index.lock'. Jika tidak ada proses git lain yang sedang berjalan, ini mungkin berarti proses git macet di repositori sebelumnya. Pastikan tidak ada proses git lain yang sedang berjalan dan hapus file secara manual untuk melanjutkan.
Pinchas K
5
Pesan kesalahan mengatakan itu semua. Hapus C:\etc\.git\index.lockseperti file lainnya.
Schwern

Jawaban:

194

File yang dipermasalahkan kemungkinan besar .git/index.lockdan seharusnya aman untuk dihapus saja jika Anda tidak menjalankan proses git lain . Pastikan perintah git-svn tidak macet.

PS Pendekatan biasa saya untuk memperbaiki masalah git-svn adalah dengan menarik repositori. Memakan waktu, tetapi Anda dapat melakukannya secara paralel dengan mencoba memperbaiki masalah. Adakan balapan kecil antara Anda dan git. Tentu saja, ini hanya berfungsi jika Anda tidak memiliki komitmen yang tidak terdorong.

Schwern
sumber
1
Ini tidak menyelesaikannya untuk saya. Saya memiliki file kunci lain yang tersisa di .git / svn / refs / remote / git-svn / index.lock.
Kai Stavginski
74

Menghapus index.lockfile seperti yang dinyatakan Schwern akan menyelesaikan masalah ini.

Anda dapat menghapusnya dengan menjalankan rm -f ./.git/index.lock

The rmPerintah ini digunakan untuk menghapus (delete) file dan direktori.

The -fsingkatan kekuatan yang memberitahu komputer Anda untuk menghapus file tanpa disuruh konfirmasi

Joel
sumber
9

Untuk pengguna "GUI" seperti saya

Buka Git Extension dan pilih repository (jika lebih dari satu) Pilih "Settings" dari menu atas lalu "Git Maintenance" lalu klik "Delete Index Lock"

Ekstensi Git: Pengaturan-> Perawatan Git-> Hapus Kunci Indeks

pengguna3981082
sumber
2

Anda telah membuka komit di tab lain di terminal

Andrew Denysyuk
sumber
2

Mungkin juga menyangkut file * .lock apa pun di .git /

Periksa dan hapus mereka. Anda dapat menggunakan:rm -f ./.git/*.lock

artegen
sumber
0

Menghapus file index.lock seperti yang dinyatakan Schwern akan menyelesaikan masalah ini.

Anda dapat menghapusnya dengan menjalankan rm -f ./.git/index.lock

Perintah rm digunakan untuk menghapus (menghapus) file dan direktori.

-F adalah singkatan dari force yang memberitahu komputer Anda untuk menghapus file tanpa meminta konfirmasi

masih tidak berfungsi berarti buka git melalui git bash daripada lakukan di terminal

sarangan
sumber