git - 吉特。软重置和提交后将本地文件同步到新提交
问题描述
假设我们有三个提交,并且 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 指向哪里?
非常感谢!
解决方案
当您运行时git reset --soft somewhere
, HEAD 指向somewhere
。如果你在一个分支上工作,那么这个分支被设置为指向那个somewhere
(并且 HEAD 指向这个分支)。如果您正在处理分离的 HEAD,则 HEAD 指向somewhere
您提供的修订版。
现在,关于文件....鉴于您在完成后直接创建了修订版git reset --soft
(对吗?),那么 C' 和 C 的文件完全相同。检查与git diff C
。
推荐阅读
- gps - LoRaWan - 可以追踪运动员吗?
- java - Xalan-J:在扩展函数中解析 QName 文本值的命名空间
- javascript - 反应 {...props} 副作用
- laravel - Laravel PostgreSQL:SELECT DISTINCT ON 表达式必须匹配初始 ORDER BY 表达式
- javascript - 为什么当我使用数组原型创建对象时我得到一个对象
- ruby-on-rails - 升级后无法在 macOS 上安装 PG
- php - 将多维数组转化为关联多维数组
- python - 使用 impyla 在 impala 中计算统计信息
- node.js - NodeJS Express 休息调用
- excel - 需要 Excel 宏中的函数来实时流式传输股票价格