请参阅在指定Git提交中应用于指定代码行的更改?

请参阅在指定Git提交中应用于指定代码行的更改?,git,Git,我目前正在分析一个Git回购协议,并试图找出在某个提交中注入的代码在随后的提交中是如何随时间演化的。例如,给定commit 57176a…(提交5776a…)中的第9行,修改这行代码的主分支中的下一个提交是什么 据我所知,git-log和git-burn的工作方向是相反的:它们可以基于以前的提交来分析给定提交中的一行。但是,我想做的是基于后续提交分析给定提交中的行。的--reverse选项可以帮助您。如果运行此命令: git blame -L 9,9 --reverse 57176a..mast

我目前正在分析一个Git回购协议,并试图找出在某个提交中注入的代码在随后的提交中是如何随时间演化的。例如,给定commit 57176a…(提交5776a…)中的第9行,修改这行代码的主分支中的下一个提交是什么

据我所知,
git-log
git-burn
的工作方向是相反的:它们可以基于以前的提交来分析给定提交中的一行。但是,我想做的是基于后续提交分析给定提交中的行。

--reverse
选项可以帮助您。如果运行此命令:

git blame -L 9,9 --reverse 57176a..master your_file_name

git将从指定的提交开始,并在历史记录中向前搜索,直到第9行发生更改。输出将向您显示行未更改的最后一次提交。

我不太确定这是否符合原始海报的要求。文档中说“这显示了存在一行的最后一个版本”,这似乎意味着它显示了最后一次提交,而不是后续提交,如果我阅读并测试正确的话。所以我不确定你是否能用这个“推动历史前进”,它似乎能把你带到最后。稍后我还需要测试一些来确认;如果一个提交更改了一行,那么git会将其视为一行被删除并替换为另一行,而
git-burn--reverse
会向您显示提交的父行。