Saya membuat garpu repo github dan mengerjakan repo github saya.
Saya telah membuat permintaan tarik dan itu selesai.
Setelah itu upstream memiliki beberapa komitmen lagi jadi sekarang saya ingin rebase, saya rasa itulah yang harus saya lakukan.
Tapi saya mendapatkan konflik penggabungan ini:
First, rewinding head to replay your work on top of it...
Applying: Issue 135 homepage refresh
Using index info to reconstruct a base tree...
<stdin>:17: trailing whitespace.
%h4
warning: 1 line adds whitespace errors.
Falling back to patching base and 3-way merge...
Auto-merging app/views/layouts/application.html.haml
CONFLICT (content): Merge conflict in app/views/layouts/application.html.haml
Auto-merging app/views/home/index.html.haml
CONFLICT (content): Merge conflict in app/views/home/index.html.haml
Auto-merging app/views/home/_group_projects.html.haml
CONFLICT (content): Merge conflict in app/views/home/_group_projects.html.haml
Failed to merge in the changes.
Patch failed at 0001 Issue 135 homepage refresh
When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To check out the original branch and stop rebasing run "git rebase --abort".
Saya tidak tahu cara memperbaikinya, tolong bantu.
git
github
git-rebase
pahnin
sumber
sumber
Jawaban:
Rebasing bisa sangat memusingkan. Anda harus menyelesaikan konflik penggabungan dan melanjutkan rebasing. Misalnya Anda dapat menggunakan alat penggabung (yang berbeda tergantung pada pengaturan Anda)
Kemudian tambahkan perubahan Anda dan lanjutkan
Semoga berhasil
sumber
Ketika Anda mengalami konflik selama rebase, Anda memiliki tiga opsi:
Anda dapat menjalankan
git rebase --abort
untuk sepenuhnya membatalkan rebase tersebut. Git akan mengembalikan Anda ke status cabang Anda seperti sebelum git rebase dipanggil.Anda dapat menjalankan
git rebase --skip
untuk melewati komit sepenuhnya. Itu berarti bahwa tidak ada perubahan yang diperkenalkan oleh komit bermasalah yang akan disertakan. Sangat jarang Anda memilih opsi ini.Anda dapat memperbaiki konflik seperti yang dikatakan iltempo. Setelah selesai, Anda perlu menelepon
git rebase --continue
. Mergetool saya adalah kdiff3 tetapi masih banyak lagi yang dapat Anda gunakan untuk menyelesaikan konflik. Anda hanya perlu menyetel alat penggabung Anda di pengaturan git sehingga dapat dipanggil saat Anda memanggilgit mergetool
https://git-scm.com/docs/git-mergetoolJika tidak ada satu pun cara di atas yang berhasil untuk Anda, jalan-jalan dan coba lagi :)
sumber
<<<<<
Jika Anda memiliki banyak komitmen untuk rebase, dan beberapa di antaranya menimbulkan konflik, itu sangat menyakitkan. Tetapi saya dapat menyarankan pendekatan yang kurang dikenal bagaimana "menghentikan semua konflik".
Pertama, periksa cabang sementara dan mulai penggabungan standar
Anda harus menyelesaikan konflik, tetapi hanya sekali dan hanya konflik yang nyata. Kemudian atur semua file dan selesaikan penggabungan.
Kemudian kembali ke cabang Anda (biarkan menjadi alfa ) dan mulai rebase, tetapi dengan menyelesaikan konflik apa pun secara otomatis.
Branch telah di-rebased, tetapi project mungkin dalam status tidak valid. Tidak apa-apa, kita punya satu langkah terakhir. Kita hanya perlu mengembalikan status proyek, jadi akan persis seperti pada 'temp' cabang. Secara teknis kita hanya perlu menyalin pohonnya (status folder) melalui perintah tingkat rendah git commit-tree . Ditambah penggabungan ke cabang saat ini baru saja membuat komit.
Dan hapus cabang sementara
Itu saja. Kami melakukan rebase melalui gabungan tersembunyi.
Saya juga menulis skrip, sehingga bisa dilakukan dengan cara dialog, Anda bisa menemukannya di sini .
sumber
Catatan: dengan Git 2.14.x / 2.15 (Q3 2017),
git rebase
pesan jika terjadi konflik akan lebih jelas.Lihat commit 5fdacc1 (16 Jul 2017) oleh William Duclot (
williamdclt
) .(Digabung oleh Junio C Hamano -
gitster
- di commit 076eeec , 11 Aug 2017)Sebelum:
Setelah:
sumber