Bagaimana cara menyimpulkan penggabungan file Anda?

103

Setelah saya menggabungkan file di Git, saya mencoba menarik repositori tetapi kesalahan muncul:

Anda belum menyelesaikan penggabungan Anda. (MERGE_HEAD ada)

Bagaimana cara menyimpulkan penggabungan?

Muaz Al-Jarhi
sumber

Jawaban:

94

Periksa status ( git status) repositori Anda. Setiap file yang tidak digabungkan (setelah Anda menyelesaikan sendiri konfik) harus ditambahkan ( git add), dan jika tidak ada file yang dipisahkan, Anda harusgit commit

MBO
sumber
11
Tetapi bagaimana jika semuanya dilakukan ( git statusmenunjukkan dir yang berfungsi bersih) dan kesalahan di atas masih terjadi?
Marius Soutier
1
@Marius Pastikan Anda menjalankan standar git statusdan bukan alias yang memfilter pesan apa pun. Dalam versi saat ini, ketika Anda menjalankan status git, ini menunjukkan kepada Anda pesan apa yang harus Anda lakukan untuk "menyimpulkan penggabungan". Dan jika Anda benar-benar yakin semuanya telah digabungkan dan Anda tidak akan kehilangan apa pun, maka Anda cukup menghapus file di .git / MERGE *, yang menyimpan apa yang telah Anda coba gabungkan, dan pesan komit default untuk penggabungan itu
MBO
1
Terima kasih, itulah yang akhirnya saya lakukan, tetapi entah bagaimana, ini sepertinya buggy. Bagaimana MERGE_HEAD bisa ada jika Anda menggabungkan dan melakukan semuanya?
Marius Soutier
2
Ya, saya baru saja memiliki masalah yang sama dengan Marius, telah melakukan penggabungan, menyelesaikan konflik, tetapi tidak ada yang harus dilakukan sekarang (entah bagaimana). Harus menghapus file MERGE * secara manual seperti yang disarankan.
Simon East
@johndpope power ("tnx", 100)
knagode
31

Catatan dan perbarui:

Sejak Git1.7.4 (Januari 2011), Anda memiliki git merge --abort, identik dengan " git reset --merge" saat penggabungan sedang berlangsung.

Namun jika Anda ingin menyelesaikan penggabungan, namun tidak ada yang tersisa untuk ditambahkan, minyak mentah rm -rf .git/MERGE*sudah cukup bagi Git untuk melupakan penggabungan saat ini.

VonC
sumber
jika Anda menghapus MERGE_HEAD, bukankah hasil komit hanya memiliki satu induk sehingga Anda tidak akan memiliki riwayat cabang yang digabungkan?
Jason Goemaat
@JasonGoemaat mengingat kami mencoba membatalkan penggabungan, toh tidak akan ada "hasil komit".
VonC
20

Solusi termudah yang saya temukan untuk ini:

git commit -m "fixing merge conflicts"
git push
pengguna3127648
sumber
Sebenarnya bagi saya -m tidak berhasil, itu berhasil tanpa -m.
Aleksandar Pavić
@ Muaz-Al-Jarhi Anda harus melihat jawaban pengguna3127648
SebMa
Bisakah Anda menjelaskan apa yang dilakukannya?
Billal Begueradj
-m hanyalah bendera untuk menyertakan pesan
atamata
1

Jika Anda mengalami kesalahan ini di SourceTree, buka Tindakan> Selesaikan Konflik> Mulai Ulang Gabung.

Versi SourceTree yang digunakan adalah 1.6.14.0

Solusi CM Cebu
sumber
0

Saya memiliki kesalahan yang sama dan saya mengikuti artikel yang ditemukan di google memecahkan masalah saya. Anda belum menyelesaikan penggabungan Anda

Nirju
sumber
Tautan ke solusi selalu diterima, tetapi harap tambahkan informasi penting ke jawaban Anda karena tautan tersebut mungkin kedaluwarsa.
slfan