gpt4 book ai didi

git - 如何在保留提交历史记录的同时恢复 git repo?

转载 作者:行者123 更新时间:2023-12-05 01:00:32 26 4
gpt4 key购买 nike

这是我所拥有的:

dbd7868 (HEAD -> master) commit 3
19ea7e8 commit 2
5b4baae commit 1

我希望所有文件都处于与 commit 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 应该与 def 完全相同。澄清一下,我希望能够进行任何提交。

最佳答案

您可以使用命令git revert <hash1> <hash2> ..

试试下面的命令:

git revert dbd7868

它将创建一个新的提交,该提交将恢复提交 3。

如果您想恢复任何其他提交,只需运行带有提交哈希的 revert 命令。例如:

git revert 5b4baae #to revert commit 1
git revert 19ea7e8 #to revert commit 2

在所有情况下,还原提交都将在提交 3 之前进行。

关于git - 如何在保留提交历史记录的同时恢复 git repo?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49206920/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com