完全覆盖以前的git提交

时间:2011-07-26 01:15:24

标签: git

我的同事向我们的git存储库推送了一个错误。我希望提交一些更新的代码,但我没有git pull,因此我在HEAD后面提交1次。如果我落后,我怎么能完全忽略他的变化并克服他的错误呢?

2 个答案:

答案 0 :(得分:8)

你可以像其他答案所暗示的那样强制推动,但更安全的方法是继续推进他的更改,然后git revert他的提交,这将彻底撤消他的所有更改。这不会冒无意中失去变化的风险:

git pull
git revert <treeish naming his commit>
git push

答案 1 :(得分:6)

我猜你的意思是他推迟对中央回购的错误提交。

如果是这样,那么您可以使用git push -f推送您的版本,这将覆盖存储库。当然,这也会打破历史(f意味着强制),因此您的同事将不得不重新克隆中央回购。