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

时间:2012-06-13 04:44:36

标签: git version-control history git-log

用例:

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

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

是否有一个比git log -p <file> | grep <some snippet matching mysterious code>更有用的命令,然后回到log -p输出来查看差异中的上下文。

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

1 个答案:

答案 0 :(得分:1)

git blame <path to file>将为您提供上下文提交列表(在该文件中该提交点处完成的更改)。阅读git help blame获取其拥有的所有权力。

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