恢复坏分支合并

Let*_*ion 7 git

我将我的分支合并为主人,推了推,认为一切都很顺利.原来代码有问题,我想要一种方法来恢复合并提交,或整个分支,以更合适的方式,以便其他人可以轻松地继续工作,就好像我的合并从未发生过.

然后我打算修复我的分支,然后再将它合并.阅读man git-revert表明,如果我使用-m来恢复整个分支,我将能够重新合并.

ral*_*nja 7

只需将HEAD重置为上一次提交:

git reset --hard HEAD^
Run Code Online (Sandbox Code Playgroud)

如果您推送了错误的合并,则不会在问题中说明,因此必须使用--force(如果是这种情况)(因为您在主分支上重写了历史记录).

请注意,如果其他开发人员的工作基于错误提交,则重写历史记录可能会导致其他开发人员出现问题.在这种情况下,您可能需要考虑:

git revert HEAD
Run Code Online (Sandbox Code Playgroud)

但是,这将创建一个新提交,它与HEAD现在指向的提交相反,并且会污染存储库.从这个意义上说,重置是最好的,因为你摆脱了两次提交,一次是故障,一次是为了弥补故障.