从git获取提交中行更改的详细信息的方法(即删除第3行,第4行变为第3行)

从git获取提交中行更改的详细信息的方法(即删除第3行,第4行变为第3行),git,Git,我正试图找出跟踪给定文本文件中的行从一个提交到另一个提交的方式的最佳方法,希望我能给它们唯一的ID(这是另一次的喧嚣) 理想情况下,我正在寻找与变更日志视图中的可视化表示相同的某种数据——在这里我可以很容易地看到,好的: 1号线->1号线 2号线->2号线 _____->3号线新建 第3行->已删除 第4行->已删除 第5行->变为第4行 等等 更改日志直观地包含我要查找的内容: 我对git和sourcecontrol的了解是实用的,但这无疑将我推向了最深处,我还没有发现任何人在寻找完全相

我正试图找出跟踪给定文本文件中的行从一个提交到另一个提交的方式的最佳方法,希望我能给它们唯一的ID(这是另一次的喧嚣)

理想情况下,我正在寻找与变更日志视图中的可视化表示相同的某种数据——在这里我可以很容易地看到,好的:

  • 1号线->1号线
  • 2号线->2号线
  • _____->3号线新建
  • 第3行->已删除
  • 第4行->已删除
  • 第5行->变为第4行
等等

更改日志直观地包含我要查找的内容:

我对git和sourcecontrol的了解是实用的,但这无疑将我推向了最深处,我还没有发现任何人在寻找完全相同的东西(这让我担心我可能采取了错误的方法,但是…)

到目前为止,我尝试的是git diff(--stat,--numstat),但只找到了根据 不知怎的,这让我开始学习补丁文件,看看我是否可以从中提取信息,如果我写一个东西来处理和计算行更改(这可能是我最终不得不做的…)

是否有一个命令行指向此级别的更改日志详细信息?我可以通过迭代每一条贴片线,检查是否做了加法或减法,并将其应用于线的计数,来概念化我如何计算这一点,但首先我想我应该确保它不适用于命令


提前谢谢

这在一定程度上取决于你想要达到的目标。在使用git之前,我已经使用perforce很多年了。我还没有找到一个完全替代的命令是,
p4 annotate-a…
。我还没有找到一种使用
git-bull…
查找已删除行的方法

也就是说,我很好地利用了
git log-p…
搜索了几个补丁的全文,以找到对特定代码行的更改