如果自早期提交以来有过提交和许多更改,是否有一种简单的方法可以将所有内容恢复到之前提交的确切状态?
如果是这样,如果我也愿意,是否可以轻松切换回当前状态?
我已经意识到这个旧提交实际上是正确的,并且希望从那时起维护所有更改仅供参考,但所有未来的工作都将基于这个旧提交。
答案 0 :(得分:6)
听起来你想把你现在的工作放在一个分支上:
git branch saved_work
git reset --hard previouscommit
现在,您的saved_work
分支包含 previouscommit
之后的所有,而master
将重新合并到previouscommit
。
答案 1 :(得分:2)
由于您想要返回早期状态:
git stash
git checkout -b new_branch <tree-ish>
以上将保存您未提交的更改,并允许您在特定提交时创建新分支。按照您的意愿工作,稍后当您想要更改为早期状态时:
git stash
git checkout earlier_branch
答案 2 :(得分:1)
提交您当前的更改:
git commit
然后检查旧提交:
git checkout yourcommit
添加-f选项将破坏任何本地更改。