Cara Memperbaiki Kesalahan Git: Anda perlu menyelesaikan indeks semasa anda terlebih dahulu

Kesalahan " Anda perlu menyelesaikan indeks semasa anda terlebih dahulu " berlaku di Git dan bermaksud terdapat konflik penggabungan dan melainkan jika anda menyelesaikan konflik, anda tidak akan dibenarkan 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 dalam kawalan sumber Git

Apakah semua fail, gabungan, dan konflik ini? Syarat-syarat ini tidak akan diketahui oleh anda sekiranya anda seorang pemula dalam menggunakan Git. Git adalah platform kawalan versi yang membolehkan beberapa orang mengerjakan fail secara serentak dan mendorong salinan kod tempatan mereka ke kod yang disimpan di awan. Dengan cara ini jika anda menukar beberapa kod yang dimuat turun (atau sudah didorong) dan mendorongnya lagi ke awan, perubahan akan ditimpa di awan oleh salinan tempatan anda.

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

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

Seperti yang telah disebutkan sebelumnya, penyebab ralat ini agak terhad. Anda akan mengalami ralat ini kerana:

  • A merge gagal dan anda perlu untuk menangani konflik penggabungan sebelum beralih dengan tugas-tugas lain.
  • Terdapat konflik dalam fail di cawangan semasa (atau cabang yang disasarkan) dan kerana konflik ini, anda tidak akan dapat melihat cawangan atau kod tolak.

Sebelum anda meneruskan penyelesaiannya, pastikan anda mempunyai kawalan versi yang betul dan bijaksana untuk menghentikan ahli pasukan lain daripada menukar kod sebelum menyelesaikan konflik.

Penyelesaian 1: Menyelesaikan Konflik Gabungan

Sekiranya penggabungan anda tidak diselesaikan secara automatik oleh Git, ia akan meninggalkan indeks dan pokok kerja dalam keadaan khas yang membantu memberi anda semua maklumat yang anda perlukan untuk menyelesaikan penggabungan tersebut. Fail yang mempunyai konflik akan ditandai khas dalam indeks dan sehingga anda menyelesaikan masalah dan mengemas kini indeks, anda akan terus menerima mesej ralat ini.

  1. Selesaikan semua konflik . Periksa fail yang mempunyai konflik kerana akan ditandai oleh indeks dan buat perubahan di dalamnya dengan sewajarnya.
  2. Selepas anda telah menyelesaikan semua konflik yang sedia ada, menambah fail dan kemudian melakukan .

Contohnya ialah:

$ git add file.txt $ git komit

Anda boleh menambahkan komen peribadi anda semasa melakukan. Contohnya ialah:

$ git commit - m "Ini adalah repositori Appuals Git"
  1. Setelah menyelesaikan konflik, cuba periksa cawangan yang ada dan lihat apakah masalahnya sudah selesai.

Penyelesaian 2: Mengembalikan Gabungan anda

Terdapat banyak kes di mana anda menggabungkan cawangan dan merosakkan. Kerana semua konflik dan kekeliruan, projek ini sekarang menjadi kacau-bilau dan ahli pasukan anda menyalahkan anda atasnya. Dalam kes ini, anda harus mengembalikan komit sebelumnya (gabungan gabungan) . Ini akan membatalkan penggabungan sepenuhnya dan mengembalikan keseluruhan projek ke keadaan apabila anda tidak melakukan penggabungan. Ini boleh menjadi penyelamat jika anda merosakkan perkara yang tidak dapat diperbaiki.

Untuk mengembalikan penggabungan , taipkan yang berikut:

$ git reset -–merge

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

Anda juga boleh mencuba mengembalikan KEPALA dengan menggunakan perintah berikut:

$ git mengembalikan KEPALA

Sekiranya anda ingin menentukan komit penggabungan tepat yang anda mahu kembalikan, anda boleh menggunakan perintah kembalikan yang sama tetapi tentukan parameter tambahan. Hash SHA1 dari gabungan menggabungkan akan digunakan. The -m diikuti oleh 1 menunjukkan bahawa kita ingin mengekalkan sisi induk penggabungan (cabang yang kita gabungkan). Hasil pengembalian ini adalah bahawa Git akan membuat komit baru yang mengembalikan perubahan dari penggabungan.

$ git membalikkan -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4>