用例:
我找到了一段我根本不懂的代码。我想找到编写此代码的时间上下文,以及这部分代码所经历的所有更改。
基本上查找此文件的历史记录,但只查看该历史记录中与[第34行至第38行(作为示例)]相交的部分。
是否有一个比git log -p <file> | grep <some snippet matching mysterious code>
更有用的命令,然后回到log -p
输出来查看差异中的上下文。
令人遗憾的是,在查看我编写的代码时,我经常发现需要这种功能。
答案 0 :(得分:1)
git blame <path to file>
将为您提供上下文提交列表(在该文件中该提交点处完成的更改)。阅读git help blame
获取其拥有的所有权力。
然后,您可以使用git show <commit>:<path>
查看该提交点的整个文件或git diff <commit> <commit> -- <path>
以查看差异