我是GitHub世界的新手。我一直在为我的代码训练营设计一个项目。我所做的一切都恰好符合项目的规格要求,我已经完成了一切。然后,我似乎愚蠢地提交了该项目的早期版本,从而覆盖了最终版本。我试图还原GitHub网站上的最后一次提交,但界面似乎未遵循说明。我从终端尝试了“ git revert {commit#}'”命令,但是那也不起作用。我需要建议。如果可能的话,我想从命令行完成它。
答案 0 :(得分:1)
git revert
提交了一个反向更改,因此从历史记录的角度来看,您将有两个相互抵消的不必要的提交。您所用的{commit#}
应该是您要撤消的提交的ID(=最后一个)。只要没有其他提交,此方法就应该起作用,否则您可能会遇到需要更多工作的冲突。
如果除了要撤消的提交之外没有其他提交,还有一种更好的方法-只需将分支移回指向您要保留的最后一个提交(=上一个)。
这样的事情(我假设您正在master
上工作,您尚未做revert
并且没有其他人参与):
git checkout -b tmp_branch master~1
git branch -f master tmp_branch
git checkout master
git branch -D tmp_branch
git push -f origin master
瞧瞧。如果您的master
在GitHub中受到保护,则必须取消对它的保护。您可以重复此操作以返回更远的位置(或仅使用~2
,~3
等)