返回一个被推送到远程的提交

时间:2016-09-25 09:51:50

标签: git tortoisegit

我意外地推出了一些我不应该拥有的东西,现在我想要恢复它,但我不能,因为如果我确实重置为05669,它不会让我推动它,因为远程HEAD领先...

enter image description here

我读到其他问题,强行推动会给别人带来麻烦,但这也是他们推荐的(嗯?),我真的应该用力推动解决这个问题吗?还有另一种不会给别人带来麻烦的方法吗?

Git: permanently remove few commits from remote branch

How do I push amended commit to the remote Git repository?

1 个答案:

答案 0 :(得分:1)

如果远程分支被其他团队成员使用,特别是如果它是主要的开发分支,则git reset是危险的,因为它删除了其他人已经提取的提交。此外,您需要执行git push --force,这意味着您需要获得许可才能执行此操作。

最安全的选择是使用git revert command恢复提交。

这将保留您现有的提交,然后在顶部添加额外的还原提交。这是安全的,因为您不会更改历史记录,也不会删除其他团队成员已经提取和依赖的提交。请注意,如果在还原过程中事情失控(例如,您遇到了您不确定如何解决的冲突),您可以随时通过git revert --abort中止操作。