这是我所拥有的:
dbd7868 (HEAD -> master) commit 3
19ea7e8 commit 2
5b4baae commit 1
我希望所有文件与提交2
时的完全一致。这是我尝试过的:
git checkout 19ea7e8
git commit -m "reverted to commit 2"
但是这就是结果:
HEAD detached at 19ea7e8
nothing to commit, working tree clean
期望的结果:
xxxxxxx (HEAD -> master) reverted to commit 2
dbd7868 commit 3
19ea7e8 commit 2
5b4baae commit 1
我尝试过寻找答案,但是有些回答会让commit 3
从历史记录中消失,而有些答案则不清楚历史记录是否被保留。
编辑:在尝试了其中一种解决方案后,我不得不重新设置测试项目。现在这是我拥有的:
9c4180f (HEAD -> master) jkl
38029d0 ghi
830efcd def
ae96f00 abc
这是我想要的:
xxxxxxx (HEAD -> master) def again
9c4180f jkl
38029d0 ghi
830efcd def
ae96f00 abc
提交代码的def again
应该和def
完全相同。为了澄清,我希望能够进入任何提交。
git reset 19ea7e8
,然后执行git commit -am "reverted to commit 2"
。我认为这可能会实现你想要的功能。 - John Ilacquagit checkout . 19ea7e8
怎么样? - John Ilacqua错误:路径规范'19ea7e8'与git已知的任何文件不匹配。
- user36700119c4180f
处创建了一个分支,你不会失去它。 - evolutionxbox