列出给定文件的所有提交(跨所有分支)

Sau*_*nda 86 git

此问题与列出特定文件的所有提交密切相关,但它是不同的.我想找出所有分支中的哪些提交修改了给定文件.

为了使其更复杂,给定文件可能在工作树中,也可能不在工作树中.

man*_*lds 105

试试这个:

git log --all -- path
Run Code Online (Sandbox Code Playgroud)

  • 铌.您可能需要`--full-history`选项,具体取决于您想要查看的内容:请参阅git-log或gitrevisions联机帮助页中有关历史记录简化的部分. (8认同)

Kit*_* Ho 46

你可以使用gitk

gitk --all <path to file> (you need to install gitk)

例如

gitk --all -- /home/kit.ho/project/abc.txt

  • 我不是一个downvoter,但这需要一个`--all`或类似的东西比现在的分支更多的历史. (2认同)

Dru*_*umM 36

命令行

我强烈建议使用git log添加图形选项:

git log --graph --all -- <filename>
Run Code Online (Sandbox Code Playgroud)

git log --graph --all  -  <filename>

Gitk是一个非常古老的工具,并不总是安装,我推荐一个不同的免费工具,如SourceTree:

SourceTree

  • 如何在SourceTree中记录文件并显示其分支图?右键单击文件并选择"Log Selected ..."不会在所有分支上显示历史记录. (7认同)