Cara Betulkan Git Error: Anda perlu menyelesaikan indeks semasa anda terlebih dahulu

Kesalahan " Anda perlu menyelesaikan indeks semasa anda dahulu " berlaku di Git dan bermakna terdapat percanggahan gabungan dan melainkan jika anda menyelesaikan konflik, anda tidak akan dibenarkan untuk keluar ke cawangan lain. Mesej ralat ini juga menandakan bahawa penggabungan gagal atau terdapat konflik dengan fail.

Ralat: Anda perlu menyelesaikan indeks semasa anda terlebih dahulu

Apakah semua fail, gabungan, dan konflik ini? Syarat-syarat ini tidak akan diketahui oleh anda jika anda seorang pemula dalam menggunakan Git. Git adalah platform kawalan versi yang membolehkan beberapa orang untuk bekerja pada fail pada masa yang sama dan menolak salinan setempat kod mereka kepada yang disimpan di awan. Dengan cara ini jika anda menukar kod yang dimuat turun (atau sudah ditolak) dan tekannya semula ke awan, perubahan akan ditimpa dalam awan oleh salinan setempat anda.

Git mempunyai konsep cawangan. Terdapat cawangan induk dan beberapa cawangan lain yang keluar dari situ. Kesalahan ini berlaku terutamanya jika anda beralih dari satu cawangan ke cawangan yang lain (menggunakan checkout) dan terdapat konflik dalam fail cawangan semasa. Jika mereka tidak diselesaikan, anda tidak akan dapat menukar cabang.

Apa yang menyebabkan Kesilapan Git: Anda perlu menyelesaikan indeks semasa anda terlebih dahulu?

Seperti yang dinyatakan sebelum ini, sebab-sebab kesilapan ini agak terbatas. Anda akan mengalami ralat ini kerana:

  • Gabungan gagal dan anda perlu menangani konflik gabungan sebelum bergerak dengan tugas lain.
  • Terdapat konflik dalam fail pada saat ini (atau cawangan yang disasarkan) dan kerana konflik ini, anda tidak akan dapat menyemak cawangan atau kod tolak.

Sebelum anda meneruskan penyelesaian, pastikan anda mempunyai kawalan versi yang betul dan bijak untuk menghentikan ahli pasukan lain daripada mengubah kod sebelum menyelesaikan konflik.

Penyelesaian 1: Menyelesaikan Konflik Merge

Jika gabungan anda tidak diselesaikan secara automatik oleh Git, ia meninggalkan indeks dan pokok kerja dalam keadaan istimewa yang membantu memberikan semua maklumat yang anda perlukan untuk menyelesaikan gabungan. Fail yang mempunyai konflik akan ditandakan khusus dalam indeks dan sehingga anda menyelesaikan masalah dan mengemas kini indeks, anda akan terus menerima mesej ralat ini.

  1. Selesaikan semua konflik . Semak fail yang mempunyai konflik kerana mereka akan ditandai dengan indeks dan membuat perubahan di dalamnya dengan sewajarnya.
  2. Selepas anda menyelesaikan semua konflik yang ada, tambahkan fail dan kemudian komitkan .

Satu contoh ialah:

 $ git tambah file.txt $ git komit 

Anda boleh menambah ulasan peribadi anda semasa melakukan. Satu contoh ialah:

 $ git commit -m "Ini adalah Appworks Git repository" 
  1. Setelah menyelesaikan konflik, cubalah semak keluar dari cawangan anda yang ada dan lihat apakah masalahnya telah ditetapkan.

Penyelesaian 2: Mengembalikan Gabungan Anda

Terdapat banyak kes di mana anda menggabungkan cawangan dan merosakkan. Kerana semua konflik dan kekeliruan, projek ini sekarang menjadi kekacauan dan ahli pasukan anda menyalahkan anda untuknya. Dalam kes ini, anda perlu mengembalikan komitmen sebelumnya (komit gabungan) . Ini akan membatalkan penggabungan sepenuhnya dan membawa semula keseluruhan projek ke keadaan apabila anda tidak melakukan sebarang gabungan. Ini boleh menjadi lifesaver jika anda telah merosakkan perkara sehingga tidak dapat diperbaiki.

Untuk mengembalikan penggabungan, taip perkara berikut:

 $ git reset-merge 

Perintah di atas akan menetapkan semula indeks dan mengemas kini fail-fail dalam pokok kerja yang berbeza di antara 'komit' dan 'kepala'. Walau bagaimanapun, ia akan menyimpan fail-fail yang berbeza antara indeks dan pokok kerja.

Anda juga boleh cuba memulihkan HEAD dengan menggunakan arahan berikut:

 $ git kembali HEAD 

Sekiranya anda ingin menentukan komit gabungan tepat yang anda ingin pulihkan, anda boleh menggunakan arahan yang sama tetapi kembali menentukan parameter tambahan. The SHA1 hash komit gabungan akan digunakan. Yang -m diikuti oleh 1 menunjukkan bahawa kita ingin mengekalkan sisi induk gabungan (cawangan kita bergabung). Hasilnya adalah bahawa Git akan membuat komit baru yang menggantikan perubahan dari gabungan.

 $ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4> 

Artikel Yang Menarik