Tim saya baru-baru ini pindah ke Git, dan untuk kedua kalinya hari ini, Git telah melakukan eror pada satu baris kode yang saya ubah sendiri dan sudah dikomitmenkan ke lokal saya, pada file yang terakhir diedit oleh saya sendiri. Ini adalah pesan kesalahan yang diberikannya kepada saya:
Cannot pull into a repository with state: MERGING"
org.eclipse.jgit.errors.WrongRepositoryStateException
Cannot pull into a repository with state: MERGING
Cannot pull into a repository with state: MERGING
Saya tidak dapat menarik atau mendorong ke server hapus. Bagaimana cara memperbaikinya?
Sebenarnya, pertanyaan yang lebih baik, bagaimana cara mencegahnya?
Hal ini terjadi karena Anda sedang berada di tengah-tengah penggabungan. Selesaikan penggabungan dengan menyelesaikan semua konflik dan menambahkan berkas yang sesuai ke indeks, atau batalkan penggabungan dengan git merge --abort
. Perhatikan bahwa jika anda membatalkan penggabungan, kemungkinan besar anda akan mendapatkan konflik ketika anda melakukan git pull
, karena saya asumsikan pull anda sebelumnya menyebabkan konflik (itulah sebabnya mengapa anda dibiarkan di tengah-tengah penggabungan).
Masalahnya di sini adalah file repositori jarak jauh telah diubah (yaitu orang lain telah mengubah dan mendorong file ke repositori yang Anda ubah di salinan lokal Anda) dan sekarang Anda juga mengedit file yang sama, jadi ketika Anda mencoba mendorong file itu melempar kesalahan;
Anda harus menggabungkan file dan kemudian melakukan commit perubahan dan push.
Klik kanan pada proyek Anda -> Team ->Merge
Ketika Anda melakukan ini, ia akan menanyakan cabang mana yang akan digabungkan. Pilih cabang dan lanjutkan ke penggabungan.
case 1: Jika tidak ada konflik, maka proses penggabungan akan selesai.
Anda dapat melakukan commit dan push sekarang.
kasus 2: Jika ada konflik, egit akan menampilkan pesan kesalahan sebagai Konflik dan semua file yang mengalami konflik akan ditandai dengan ikon merah di atas nama file pada penjelajah proyek Anda.
Klik kanan file-file yang mengalami konflik-> Team -> Merge Tool
Ini akan membuka jendela perbandingan, periksa dan gabungkan perubahan yang Anda inginkan. Setelah Anda selesai menggabungkan
Klik kanan file yang memiliki konflik-> Team -> Add to index
Komitmenkan perubahan dan Dorong
Catatan : Anda harus melakukan komit semua file bertahap Anda sebelum proses penggabungan ini;
Dan untuk menjawab pertanyaan Anda
*Sebenarnya, pertanyaan yang lebih baik, bagaimana cara mencegah hal ini?
Ini bukan masalah, ini terjadi ketika beberapa pengguna bekerja dalam satu repositori. Setiap kali Anda cenderung mendorong, sebelum mendorong coba tarik dari repositori jarak jauh. ketika Anda mencoba menarik egit akan mengatakan jika ada perubahan atau konflik yang tertunda di repositori jarak jauh dan Anda menyelesaikan konflik dan mendorong.