Git 吉特。软重置和提交后将本地文件同步到新提交

Git 吉特。软重置和提交后将本地文件同步到新提交,git,reset,checkout,Git,Reset,Checkout,假设我们有三个提交,头部指向提交C A-B-(C<--HEAD) 现在头部指向提交B,提交C被删除 A-(B<--HEAD) 我的问题是,由于我们做了软重置,本地文件不会更新。哪个git命令用于将本地文件“同步”到新的commit C?我的一个想法是git checkout C' 另一个问题是在软重置和提交后,HEAD指向何处 非常感谢 运行git reset--soft-somewhere时,头部指向某处。如果您正在处理一个分支,则该分支将被设置为指向该分支的某个位置(并且头部

假设我们有三个提交,头部指向提交C

A-B-(C<--HEAD)
现在头部指向提交B,提交C被删除

A-(B<--HEAD)
我的问题是,由于我们做了软重置,本地文件不会更新。哪个git命令用于将本地文件“同步”到新的commit C?我的一个想法是
git checkout C'

另一个问题是在软重置和提交后,HEAD指向何处


非常感谢

运行
git reset--soft-somewhere
时,头部指向
某处
。如果您正在处理一个分支,则该分支将被设置为指向该分支的某个位置(并且头部指向该分支)。如果您使用的是分离的头部,则头部指向您提供的
某处的修订版


现在,关于文件。。。。假设您在执行
git reset--soft
(对吗?)之后直接创建了修订版,那么C'和C'的文件是完全相同的。用git diff C检查

然后,如果我们提交C,我已经检查过文件f的内容不会随着提交而改变

即使我们签出头部,文件f的内容也不会改变


唯一能将文件f的内容更改为HEAD(即C')的内容的是,如果我们进行硬重置:
git reset--hard-HEAD

您使用
sync
是什么意思?。如果您运行
git checkout C
,您将返回到原始版本C,您使用软重置和提交所做的操作将消失。请使本地文件具有与提交C中相同的内容。。。。如果您除了重置(soft)和提交(commit)之外没有做任何其他操作,那么这些文件已经与C上的完全相同了。。使用
git diff C
进行检查。应该没有变化。好的。。。。我开始明白你的意思了。。。让我看看能不能回答你的问题。
A-(B<--HEAD)
$ git commit -m "C again"
$ git log
C'
B
A