我以这种方式还原了合并提交(功能 -> 开发):
git revert -m 1 <merge-commit-hash>
git push origin develop
已创建新提交 Revert "Merge branch 'feature'"
现在我想恢复该恢复。我应该只使用以下命令:git revert <revert-merge-branch-commit-hash>
吗?
答案 0 :(得分:2)
不幸的是,在大多数情况下,答案可能是是。 (您应该还原还原提交。)
我说“不幸”是因为回想起来,这两个还原一起为您的历史添加了不必要(并且可能令人困惑)的提交。这里有两种可能的替代方案:
develop
),条件必须近乎完美才能考虑在紧急情况之外执行此操作。 (近乎完美我的意思是:分支上没有新的提交,自从添加了错误的提交以来已经过了很短的时间和/或其他人不太可能已经从它分支出来,等等)git rebase --no-ff [merge-base-commit]
将其从起始提交重新建立到自己的基础上。这将强制 rebase 重写提交,以便它们可以重新合并。如果新的提交被添加到之前的分支并且现在可以再次被引入,我可能会选择这个。但一般来说,大多数情况下,在共享远程 develop
上,它可能会还原还原。