【发布时间】:2020-06-25 02:01:57
【问题描述】:
假设我们有三个提交,并且 HEAD 指向提交 C。
A-B-(C<--HEAD)
我在 B 上进行软重置:
$ git reset --soft B
现在 HEAD 指向提交 B 并且提交 C 被删除
A-(B<--HEAD)
并且 index 仍然匹配 C。所以我们决定重新提交。
$ git commit -m "C again"
$ git log
C'
B
A
我的问题是,由于我们做了软重置,本地文件没有更新。什么 git 命令用于将本地文件“同步”到新的提交 C'?我的一个想法是git checkout C'。
另一个问题是在软重置和提交之后 HEAD 指向哪里?
非常感谢!
【问题讨论】:
-
sync是什么意思?如果您运行git checkout C,您将返回到原始版本 C,您使用软重置和提交所做的操作将消失。 -
使本地文件的内容与提交 C' 中的内容相同
-
嗯.... 如果您除了 reset --soft 和 commit 之外没有做任何其他事情,那么这些文件已经和 C 上的文件一模一样了。请咨询
git diff C。应该没有变化。 -
好吧……我开始明白你的意思了……让我看看能不能回答你的问题。