Git搜索已修改文件的提交

时间:2014-10-30 14:58:01

标签: git

我修改了一个文件,我不知道什么时候了。我想查看我更改该文件的所有提交。基于这些提交,我想在其他文件中搜索其他修改,这些修改链接到我正在搜索的修改。我试过git blame但似乎只是显示了最后一次提交和未提交的更改。谁能告诉我怎么做?


更明确一点:我在json文件中搜索修改,基于这些,我在我的应用程序代码(cpp)文件中做了一些修改。所以我想搜索这些提交并查看我修改过的代码。 P.S。:我同时改变了json的结构,所以我不想只是最后一次修改。

4 个答案:

答案 0 :(得分:3)

要查看提交更改某些文件的内容和方式,您可以使用log命令和-p开关:

git log -p somefile/somefile.cpp

答案 1 :(得分:1)

您可以使用以下命令查看影响某个文件的所有提交:

git log -- <filename>

如果要查看随该文件一起修改的其他文件,可以使用--name-only选项。这将列出在该提交中修改的所有文件。

git log --name-only <filename>

答案 2 :(得分:0)

要找出谁更改了文件,您可以针对单个文件运行git blame,并逐行获取该文件的细分,以及最后影响该行的更改。它还打印出时间戳和作者信息以及link

答案 3 :(得分:0)

在日常工作中,我发现这是最方便的:

gitk <some file or directory>

很高兴能够快速过滤掉所有改变某个目录内容的提交,特别是在更大的系统中。您可以单击文件以立即查看差异这一事实,这至少是获得概述的最快方式。