gpt4 book ai didi

git - 重置 Git 以在不将 HEAD 更改为分离状态的情况下提交

转载 作者:IT王子 更新时间:2023-10-29 01:29:46 26 4
gpt4 key购买 nike

我想将 git 工作副本的文件恢复到给定的提交,而不将该提交设置为 HEAD 提交。

如果我对给定的提交进行 git checkout,我会获得一个分离的 HEAD,并且在提交更改之后,提交树将如下所示:

A
|
B
|
C
| \
D E

虽然我想要获得的行为是:

A
|
B
|
C
|
D
| <- git command so my files are restored to C, but my HEAD still points to D
E

谢谢

最佳答案

应该这样做:

git reset --hard C
git reset --soft D

首先,您将HEAD、索引和工作树重置为C
然后将 HEAD(并且只有 HEAD,如“Practical uses of git reset --soft?”中所述)重置为 D

请注意,此时的提交将创建一个包含 C 内容的 提交,将 D 替换为 D' 看起来像 C
这改变了历史,与简单的 git reset --hard C 没有太大区别。

另一种选择是 git revert CD 之上,但是 D 仍然会在历史中可见,这可能是你想要的不想。

关于git - 重置 Git 以在不将 HEAD 更改为分离状态的情况下提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13896246/

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