Saya telah membuat dialog
cabang dan ketika saya mencoba untuk menggabungkannya ke master
cabang. Ada 2 konflik. Saya tidak tahu bagaimana mengatasinya CONFLICT (delete/modify)
. Bisakah Anda memberi tahu saya apa yang harus saya lakukan?
$ git checkout master
$ git merge dialog
CONFLICT (delete/modify): res/layout/dialog_item.xml deleted in dialog and modified in HEAD. Version HEAD of res/layout/dialog_item.xml left in tree.
Auto-merging src/com/DialogAdapter.java
CONFLICT (content): Merge conflict in src/DialogAdapter.java
Automatic merge failed; fix conflicts and then commit the result.
Saya telah membuka src/DialogAdapter.java
, memperbaiki konflik dan melakukan a git add src/DialogAdapter.java
. Apa lagi yang harus saya lakukan?
git
git-merge
merge-conflict-resolution
BuZZ-dEE
sumber
sumber
Jawaban:
Pesan konflik:
berarti yang
res/layout/dialog_item.xml
telah dihapus di cabang 'dialog' yang Anda gabungkan, tetapi telah dimodifikasi di HEAD (di cabang tempat Anda bergabung).Jadi, Anda harus memutuskan apakah
git rm res/layout/dialog_item.xml
"atau
git add res/layout/dialog_item.xml
"Kemudian Anda menyelesaikan penggabungan dengan "
git commit
".Perhatikan bahwa git akan memperingatkan Anda bahwa Anda sedang membuat komit gabungan, dalam kasus (jarang) di mana itu adalah sesuatu yang tidak Anda inginkan. Mungkin tetap dari hari-hari di mana kasus itu kurang langka.
sumber
git rm …
) tetapi saya dapatkan…: needs merge
danrm '…'
yang saya mengalami kesulitan menafsirkan. Dan kemudian jika saya mencoba melakukan, stackoverflow.com/questions/19985906/… muncul lagi.git ls-files --stage
dan / ataugit status --porcelain
dan / ataugit diff-files <something>
untuk mendapatkan daftar file yang diubah dan mengarahkan skrip untuk menghapusnya atau menerima versi Anda atau mereka.git status
ataugit diff --cc
. Ada jugagit log --merge
yang mungkin membantu ...Saya biasanya hanya menjalankan
git mergetool
dan itu akan meminta saya jika saya ingin menyimpan file yang dimodifikasi atau tetap menghapusnya. Ini adalah cara tercepat IMHO karena ini adalah satu perintah, bukan beberapa per file.Jika Anda memiliki banyak file yang dihapus di subdirektori tertentu dan Anda ingin semuanya diselesaikan dengan menghapus file, Anda dapat melakukan ini:
Ini
d
disediakan untuk memilih menghapus setiap file. Anda juga dapat menggunakanm
untuk menyimpan file yang dimodifikasi. Diambil dari prompt yang Anda lihat ketika Anda menjalankanmergetool
:sumber
Jika Anda menggunakan Git Gui di windows,
sumber