[英]Merge branches and Fix conflicts
我有兩個分支,我想將它們合並到一起,但問題是其中一個分支在幾個月前停止接收另一個分支的任何更新。 因此,當我嘗試合並它們時,會遇到大量復雜的沖突。
有什么解決方案可以安全地合並它們嗎?
注意:我正在使用 Android Studio
沒有辦法解決這個......沖突發生是因為代碼朝着不同的方向發展,所以他們必須處理。 您可以一次解決一大堆沖突的一種方法是將較長的分支(因為它們發散)重新定位到較短分支的每個提交上。 說....你有這兩個分支
A <- B <- C <- D <- E <- (branch1)
^
\- F <- G <- (branch2)
你可以運行git switch branch2; git rebase C
git switch branch2; git rebase C
。 您可能會遇到較小的沖突,並以這樣的方式結束:
A <- B <- C <- D <- E <- (branch1)
^
\- F' <- G' <- (branch2)
然后git rebase D
,最后是這樣的:
A <- B <- C <- D <- E <- (branch1)
^
\- F'' <- G'' <- (branch2)
最后git rebase branch1
並以這個結束:
A <- B <- C <- D <- E <- (branch1)
^
\- F''' <- G''' <- (branch2)
但這並不意味着您將避免沖突.....您實際上可能會在此過程中遇到更多沖突,但理論上它們應該更小(實際上可能並非如此,但唉,事先無法知道)。
另一種可行的方法是合並但不是提示,而是中途或分段......然后沖突應該更小......最后,當你最終合並真正的提示時擁有最終所需的樹你真正想要的分支,你可以運行一個git commit-tree
命令來創建一個“憑空”提交,它使用真正的 2 個分支作為父分支和你創建的所有合並的最終樹,這樣你就可以避免所有這些合並你在中間嘗試過的(如果你想避免它們出現)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.