2012-11-16 70 views
0

我想撤消两次最近的提交。这些提交已经被推送到远程仓库,但是我想一旦我在本地撤销了它们,我可以再次推出它们,并且它们将在远程仓库中被有效地撤销。撤消两次最近的提交

我有这些提交哈希,所以我需要运行什么命令来撤消它们?

+0

我不清楚为什么答案没有被接受;你能详细说明缺少的是什么吗? –

+0

我假设你这样做,但自11月以来你一直在网站上,当你的问题有活动时你会收到通知。我并不认为需要讽刺,我只是认为成为一个好的SO公民很重要。因人而异。 –

回答

2

只要做到:

git revert HEAD~2 

使用git help revert会给你更多的细节。

如果您的工作目录中有未决的更改,则保存之前和之后保存。

1

如果你只是想摆脱提交的:

git checkout <branch> 
git reset --hard <commit before the two commits> 
git push <remote> +<branch> 

+,使强制推送。

您可以使用HEAD^^来引用刚好在最后两个之前的提交。

编辑:git revert是一种撤消提交而不从历史记录中删除它们的方法。当这些变化被其他人拉住时,这是有用的。

+0

如果你在一个团队中工作并且同事可能已经离开,那么不要这样做。你会被他们恨。一般不会改变已经推动的变更集。 – Benoit

+0

是的。那么你应该使用恢复。看我的编辑。 – opqdonut

+0

现在,警告是明确的,我可以upvote。 – Benoit