如何在重新基准合并提交后恢复合并



我将分支从测试合并到主。然后我需要恢复它,但我不能恢复合并提交,所以我做了rebase。但在rebase分支仍然显示为合并后,我看不到分支的差异。解决这个问题的可能方法是什么?

如果您想撤消合并,并且在您的情况下重写历史记录是可以的:

  1. 确保您有回购的备份(以防万一(。只需复制整个目录。

  2. 在合并前的提交的主分支上查找提交哈希。我们称之为xyz

    这个git log命令让它变得简单:

    git log --graph --all --pretty="%C(dim yellow)%h %C(dim cyan)%cd %C(auto)%d%C(reset) %s"
    

  3. 执行以下操作:git branch -f master <xyz>

  4. 确保一切如你所愿:

    • 查看更新的历史记录(例如,使用上面的gitlog命令(。它不应该再显示合并
    • checkout master,并确保它是应该的。您也可以从这个上下文运行git log --oneline进行最后的验证
  5. 如果您之前已将合并主机推送到远程,则可以使用git push -f覆盖它(添加之前在推送命令中使用的任何其他参数(。

    ⚠️注意:您正在重写历史记录,这可能会影响其他已经开始在合并主控形状上进行操作的用户

  6. 当您确定一切正常,并且没有丢失任何所需内容时,请删除备份副本但在你确定之前,把它放在身边几个星期也无妨

最新更新