[英]Git rebase - Multiple git requests for solving merge conflicts on the same files
為了保持更清晰的歷史,我試圖做一個git rebase 。
我在分支中有多個提交,並且在進行重新設置基准時想壓縮它們。
想要的結果:
從那開始:
Master A-B
\
MyBranch 1-2-3-4-5-...-10-..-20
對此:
Master A-B-C
場景
我從在主機中的提交A
分支開始,然后在我的分支上工作:
Master A
\
MyBranch 1-2-3-4-5-...-10
當我在分支上工作時,另一個提交B
在master中完成:
Master A-B
\
MyBranch 1-2-3-4-5-...-10
為了獲得良好的CI,我首先將B
提交合並到myBranch
並解決了我遇到的所有沖突:
Master A-B
\ \
| ----------- merge
| \
MyBranch 1-2-3-4-5-...-10
然后我在分支中又進行了幾次提交:
Master A-B
\ \
| ----------- merge
| \
MyBranch 1-2-3-4-5-...-10-...-20
然后,我開始重新設置rebase -i
(使用Intellij)。
在這一階段,我認為不再需要合並請求,因為B
已合並到myBranch
。
但是后來,Intellij要求再次合並我之前已經合並過的相同文件。
當我解決所有沖突時,他要求我再做一次。 然后再次。 然后再次。 在同一文件上一遍又一遍。
似乎對於1 - 20
提交中的每個提交(或大塊提交),我都需要再次解決合並沖突。
僅在解決了大約7次沖突后,操作才結束。
為了避免這個坑,我在這里缺少什么嗎?
普通的rebase -i
只是忽略合並提交。 這就解釋了為什么在重新定基期間必須執行與合並期間相同的沖突解決方案。 同樣,一旦在重新定基期間存在合並沖突,它將在以后每次影響相同文件的提交中重復執行。
為了避免這個問題,您可以嘗試git rebase --preserve-merges
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.