我有一些文件foo.hpp,并在第4332行的提交A上添加了一行。现在(在HEAD)这行是在4776位置
都不是
1) git log -L 4330,4335:foo.hpp
,也不
2) git log -L 4774,4778:foo.hpp
没有给我提交A添加的行。
书写
3) git log <commit A hash> -L 4330,4335:foo.hpp
给我提交A和一些较旧的提交。因此,我假设在输入修订版本时,将行范围理解为特定修订版本中的行范围。但是我得不到为什么第二个变体没有向我显示这个换行,因为指定没有修改本质上使它被设置为HEAD。
有谁能解释我这样的行为?如果我指定行范围,而不是git如何理解它(我的意思是,这个行的范围对应于哪个提交?)
如果git将行范围理解为每个提交的行范围,那么第一个变体对我没有帮助的原因是什么?是否有任何智能跟踪行范围的工具(以便git根据文件更改自动更新它)?