尽管我的dev分支由于合并合并而包含相同的内容,但我的dev分支的历史与我的主人有所不同。
在Github上,我对从dev
分支到master
的拉取请求使用了“压缩并合并”选项。这导致master
和dev
之间的分隔实际上并不存在。根据Github的说法,我的dev
分支是master
之前的许多提交,尽管这些提交被压合并为master
。
此外,我从master
到dev
的各种合并在dev
上不存在,因此dev
也在后面 master
。包括我尚未合并到master
上的dev
上的提交,因为我知道这样做只会使情况变得更糟。
如何解决此问题?理想情况下,由于两个分支实际上是相同的(除了master
之前在dev
上的1次提交),如何同步这些分支?
如果需要更多信息来帮助理解我的树,我可以使用更多信息来更新我的问题。
更新: 我发现了类似的问题here,我相信确实是南瓜造成了这种混乱。恐怕我将不得不还原合并并再次执行,而不会挤压,以使Github能够正确理解两个分支的历史。
我可以选择压缩dev
分支上的提交,然后重新合并一个提交(如我所愿),但这牺牲了分支的历史。我认为我需要在这两种方法之一之间做出选择。还有另一种方法吗?
答案 0 :(得分:1)
我可以选择压缩
dev
分支本身上的提交,然后重新合并一个提交,如我所愿。
如果您从推送的dev
分支到master
进行PR,然后合并压缩...那么您的本地dev
应该有效地重置为新的{{1 }}状态。
master
然后您可以从新的git fetch
git branch old-dev dev
git checkout -B dev origin/master
分支继续