我做了一个git commit
,但我还没有把它推送到版本库。
所以当我做git status
时,我得到的是'# 你的分支比'master'多了一个提交。
所以,如果我想回滚我的顶级提交,我是否可以只做。
git reset --hard eb27bf26dd18c5a34e0e82b929e0d74cfcaab316
鉴于我在做 "git log "时,得到的是
commit eb27bf26dd18c5a34e0e82b929e0d74cfcaab316 日期。 Tue Sep 29 11:21:41 2009 -0700commit db0c078d5286b837532ff5e276dcf91885df2296 Date: Tue Sep 22 10:31:37 2009 -0700
实际上,当你使用git reset
时,你应该指的是你要重置的**提交;所以你可能会想要db0c078
提交。
一个更简单的版本是git reset --hard HEAD^
,以重置到当前头之前的提交;这样你就不必复制提交ID了。
当你做任何git reset --hard
的时候要小心,因为你可能会失去任何未提交的修改。你可能想检查一下git status
,以确保你的工作副本是干净的,或者你确实想吹掉那里的任何改动。
此外,你可以用origin/master
代替HEAD作为参考,正如@bdonlan在评论中建议的那样。git reset --hard origin/master
。