自上次推送以来撤消git中的更改?

时间:2011-12-06 14:19:45

标签: git

新手问题:如何将git repo中的本地更改撤回到上次推送?我看到了很多关于回滚最后一次提交或所有本地更改的指导,但没有特别针对这种情况。

4 个答案:

答案 0 :(得分:8)

您找到了要返回的提交(假设为foo),然后说出git reset --hard foo。如果你想让它通过,你下一步的推动应该是强制推动。

答案 1 :(得分:3)

快速和肮脏的方式:删除本地分支并再次从远程分支创建

git checkout anotherBranch
git branch -D branchA
git checkout -b branchA origin/branchA

答案 2 :(得分:1)

既然你推了它就意味着它会永远留在历史中。

现在 - 假设你的推送是最新的,你可以..

git revert 
git push origin master #assuming you on master branch

如果这不是最新提交 - 你可以选择

git rebase --interactive 并删除特定的更改集

答案 3 :(得分:0)

你可以为此做一个git重置。见man git-reset。

在git日志中找到要返回的提交的哈希值。该提交后的所有更改都将被撤消。

顺便提一下here,你会找到一本关于git的好书。