我们对分支进行了一些更改,将其提交并合并到master,然后推送到远程。随后,我们进行了更多的提交来掌握并推高了与合并有关的提交。
事实证明,合并和随后的修改是解决问题的错误方法,我们希望恢复到合并之前。在查看SO Git初学者指南时,我看到了reset命令,但是对于已经推送的更改就足够了,调用reset然后推送?
这不是我们这里的情况,但是假设在我们合并并进行了一些修复提交/推送之后,还有其他无关的推动要掌握,那么什么是仅撤消更改而不撤消更改的好方法呢?
这里有两种方法。首先是到reset
您的本地分支,就像这些更改从未存在一样,然后强制更新远程分支:
git rest <hash>
git push https://git.... --force
这种方法的主要问题是它给使用遥控器的其他人带来的困难。
恕我直言,更“优雅”的解决方案是还原更改-即确认已犯了一个错误,并纠正它,保留历史记录。
您可以git revert <hash>
用来创建其他提交,以撤消有问题的提交,然后git push
像其他所有提交一样将其撤消。好处是您可以随时修改提交消息,并确切说明原始解决方案为什么有问题以及为什么必须撤消它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句