簡體   English   中英

當以后的提交解決沖突時,如何避免在rebase期間發生沖突?

[英]How do I avoid a conflict during rebase when a later commit resolves the conflict?

如何輕松地使用已經在git中的rebase末尾修復的沖突來修改分支?

例如,我在功能分支上,並且主分支中有2個提交用於rebase。
第一次提交會產生沖突,但如果rebase將兩個提交連接在一起,則在第二次提交后不會發生沖突。
那么如何將它作為一個整體進行改裝而不是逐一改變它並解決兩次沖突呢?

我認為必須在某處回答,但我找不到任何東西,因為所有類似的問題標題都含糊不清。

最好的方法是首先壓縮兩個提交(通過使用交互式 rebase),然后在主服務器上重新綁定它。

  1. 通過交互式rebase壓縮最后2次提交:

     git rebase -i head~2 

    為第二次提交選擇壁球(或修正)

  2. 然后在主人身上加油

     git rebase master 

你應該在重新加入master 之前壓縮有問題的提交 通過交互式rebase在最近的共同祖先上執行此操作:

git rebase -i $(git merge-base master HEAD)

這樣,組合提交在表示為補丁時,可以干凈地應用於master

git rebase master

您嘗試應用於master的原始第一次提交將發生沖突,簡單明了。 一旦完成,您必須能夠檢查“狀態”,因此Git會讓您解決沖突。 您的基本問題歸結為“如何應用包含沖突而不會產生沖突的補丁”,這顯然是您無法做到的。 通過首先壓縮提交,您無需應用沖突的提交。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM