真实文件太大,简化大概是这样:
版本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中修改过了的东西,并没有反映到最终的文件里去
请问出现这种情况的可能原因有哪些,该如何排查?
呼唤远方