我有两个git分支,master
和dev
用于一个项目。昨天我正在学习如何使用git rebase
进行交互式壁球提交。我挤压了我的master
分支,它现在只包含几个提交。今天我在dev
分支上工作(我在挤压master
之前分支),并在这个dev
分支上进行了许多提交。现在,我想将我的dev
分支合并回我压扁的master
。这对我来说很愚蠢,但我意识到这是错误的做法。
我现在如何将我的dev
分支合并到压扁的master
中?有什么办法可以做到这一点吗?
我假设您分支dev
master
提交的提交受到壁球的影响,否则不应该有任何"不自然"的合并冲突。
我可以想到两种方法可以做你想做的事情,而无需实际处理这些合并冲突:
-
撤消您在
master
上所做的挤压。master
的预挤压状态很可能仍在您的存储库中 - 使用git reflog
查找它,git reset
重置master
。 如果您在壁球后对master
进行了其他提交,则可以使用git cherry-pick
将它们放入恢复的master
上。 如果您已经推送了压扁的master
并且其他人正在使用它,则此选项可能不可行。 -
git cherry-pick
您在dev
上所做的其他提交master
,然后删除不可合并的dev
分支。 如果您已经推送dev
并且其他人正在使用它,则此选项可能不可行。