Git:有没有办法查找对文件特定部分所做的更改?

Git:有没有办法查找对文件特定部分所做的更改?,git,version-control,history,git-log,Git,Version Control,History,Git Log,用例: 我发现了一段我根本不懂的代码。我想找到编写这段代码的时间上下文,以及这部分代码所经历的所有更改 基本上查找此文件的历史记录,但仅查找与[第34行到第38行(作为示例)]相交的历史记录部分 是否有比git log-p | grep更有用的命令,然后返回到log-p输出查看差异中的上下文 令人遗憾的是,我经常在查看我编写的代码时发现需要这种功能。git-burn将提供一个带有上下文的提交列表(在该文件的提交点所做的更改)。阅读《git help》责怪它拥有的所有能力 然后,您可以使用git

用例:

我发现了一段我根本不懂的代码。我想找到编写这段代码的时间上下文,以及这部分代码所经历的所有更改

基本上查找此文件的历史记录,但仅查找与[第34行到第38行(作为示例)]相交的历史记录部分

是否有比git log-p | grep更有用的命令,然后返回到
log-p
输出查看差异中的上下文

令人遗憾的是,我经常在查看我编写的代码时发现需要这种功能。

git-burn
将提供一个带有上下文的提交列表(在该文件的提交点所做的更改)。阅读《git help》责怪它拥有的所有能力

然后,您可以使用
git show:
查看该提交点的整个文件,或者使用
git diff--
查看差异

git bull
将提供具有上下文的提交列表(在该文件的该提交点进行的更改)。阅读《git help》责怪它拥有的所有能力


然后您可以使用
git show:
查看该提交点的整个文件,或者使用
git diff--
查看差异。这有助于我找到每一行最后一次编辑的时间,但这并不一定能让我找到我要找的内容。它有助于缩短我应该搜索的时间范围,但我希望使用一些易于使用的东西来显示特定代码段所经历的转换。您可以为您感兴趣的字符串(行号-对于您的情况-不起作用,因为代码可以在历史中上下移动)@史蒂文·鲁<代码>责备然后
显示
(或
差异
)是我知道的唯一方法。嗯。可以这有助于我找到每一行最后一次编辑的时间,但这并不一定能让我找到我要找的内容。它有助于缩短我应该搜索的时间范围,但我希望使用一些易于使用的东西来显示特定代码段所经历的转换。您可以为您感兴趣的字符串(行号-对于您的情况-不起作用,因为代码可以在历史中上下移动)@史蒂文·鲁<代码>责备然后
显示
(或
差异
)是我知道的唯一方法。