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