1

用例:

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

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

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

可悲的是,在查看自己编写的代码时,我经常发现需要这种功能。

4

1 回答 1

1

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

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

于 2012-06-13T04:46:11.763 回答