Git的历史记录中有修改,但最后的结果是错的,有可能是什么原因呢?

真实文件太大,简化大概是这样:

版本0: 有一文件a.txt,里面有一句比较有特征的行,整个文件只有这一处,并无重复,假设是old

版本1: 在这个commit中有人将old改成了new

版本2(最终版): 在该文件中,old处仍然是old

这里的三个版本仅仅是举例用,实际上的commit都隔了很远很多个别的commit,且并不是单一分支,有各种merge操作。

我想搞清楚为什么版本1的改动没有纳入版本2,于是git log -p a.txt >> log.txt,随后在log.txt文件中查找old, 只能找到一处改动:

- old
+ new

以及一处最早的添加:

+ old

也就是说在一个commit中修改过了的东西,并没有反映到最终的文件里去

请问出现这种情况的可能原因有哪些,该如何排查?

阅读 1.5k
1 个回答

试试使用 gui 查查看?
gitk 路径/文件名

又或者用 git blame 看看 old 这个地方哪里来的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题