如何撤消git中的推送?

时间:2014-09-01 09:16:30

标签: git git-push git-revert

我有一个git存储库,方案是这样的。

过去:rev 102

我做了更改并将其推送到存储库,所以

礼物:rev 103

现在,我想要撤消所有更改并返回到rev 102,以便当用户签出/更新存储库时,它将与rev 102相同。我尝试恢复但是rev 103仍然保留在远程存储库,因此在结账或更新时,它将被检出。感谢。

1 个答案:

答案 0 :(得分:0)

有几种方式,我有时使用的方法如下。

首先将标头重置为上一次提交。当然,您可以在重置时指定任何提交。

git reset --hard HEAD~1

然后使用-f--force-with-lease强制推送到您的远程存储库。后一个选项用于避免覆盖其他用户' rev 103之后的新提交(如果有的话)。

git push origin master --force-with-lease

但前提条件是远程存储库允许强制推送,因为强制推送确实很危险,会覆盖历史记录。