GIT 变基合并分支



我在 GIT 方面遇到了问题。我有以下情况:

-> M1 -> M2 -> ............. Ma -> Mb -> Mc            [master]
                                
                                 (merge 'master' to 'merge_branch' without commit 'Mc')
 (create branch 'develop')      
                               /-> A -> A1      [merge_branch]
                             /
                           / (create branch 'merge_branch' from 'develop' at 'Da')
                         /
 -> D1 -> ...........-> Da -> Db           [develop]

我想变基分支"merge_branch"(从提交"Db"而不是"Da"开始(

-> M1 -> M2 -> ................... Ma -> Mb -> Mc            [master]
                                       
                                        (merge 'master' to 'merge_branch' without commit 'Mc')
 (create branch 'develop')             
                                      /-> A -> A1      [merge_branch]
                                    /
                                  / (create branch 'merge_branch' from 'develop' at 'Da')
                                /
 -> D1 -> ...........-> Da -> Db           [develop]

在主分支上有很多提交(数千次(。当我在"merge_branch"并开始变基"git 变基开发"时,我收到了很多冲突。

我通常会创建一个新分支,再次进行合并,但我必须解决与以前解决的相同的合并冲突。它比变基分支快得多,但也非常慢......

你有什么想法如何解决这个问题吗?

我认为这里的问题是你从开发创建了一个merge_branch,这太超前了。在您的情况下,您应该从您的主节点分支此merge_branch:

git checkout master
# branch out from master and checkout, now you are on merge_branch
git checkout -b merge_branch   
# force delete Mc on merge_branch
git reset --hard Mb  
# attempt to merge with develop to catch up
git pull --rebase origin develop   

取决于开发和主数据库之间的同步程度,您可能仍然会遇到很多合并冲突。但是您不应该遇到重复的冲突,因为您将"更快"的分支合并到"较慢"的分支中。

最新更新