【问题标题】:List all commits (across all branches) for a given file列出给定文件的所有提交(跨所有分支)
【发布时间】:2023-03-27 15:00:03
【问题描述】:

这个问题与List all commits for a specific file 密切相关,但有所不同。我想找出所有分支的哪些提交修改了给定文件。

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

【问题讨论】:

    标签: git


    【解决方案1】:

    试试这个:

    git log --all -- path
    

    【讨论】:

    • 注。您可能需要 --full-history 选项,具体取决于您希望看到的内容:请参阅 git-log 或 gitrevisions 手册页中有关历史简化的部分。
    • 绝对是正确的答案,假设您不想使用 GUI。
    【解决方案2】:

    你可以使用 gitk

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

    例如

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

    【讨论】:

    • 我不知道为什么我的回答被否决了,但您认为这个问题并不特别要求所有分支的日志。您只是给出了 OP 已经链接到的答案。
    • 我不是反对者,但这需要--all 或类似的东西才能比当前分支浏览更多历史记录。
    • 为什么投反对票?这工作得很好。两个答案都是正确的。一种适用于文本控制台,另一种适用于 gitk GUI。我可以将两者都标记为正确吗?
    • @Saurabh Nanda:标记你认为对你有用的那个。
    • @saurabh - 此答案已被编辑。 Kit Ho - 提及您正在编辑。并使它看起来好像两个答案最初都是正确的。
    【解决方案3】:

    命令行

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

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

    桂

    Gitk 是一个相当古老的工具,并不总是安装,我推荐一个不同的免费工具,例如源树:

    【讨论】:

    • 如何记录文件并在SourceTree中显示其分支图?右键单击文件并选择“Log Selected...”不会显示所有分支的历史记录。
    猜你喜欢
    • 2020-08-21
    • 1970-01-01
    • 2021-09-28
    • 2016-07-19
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 2018-06-19
    相关资源
    最近更新 更多