【问题标题】:Git log earlier than branch pointGit 日志早于分支点
【发布时间】:2013-03-25 12:46:32
【问题描述】:

我的存储库基本上是这样的:

-- X -- A -- B -- C -- D -- F  (master) 
          \     /   \     /
           \   /     \   /
             G -- H -- I -- J  (deployment-branch-1)

通常,我会被问到什么进入了部署,什么没有进入。分支上的Git log 只给了我到分支点“A”的日志

从上面的例子看,这看起来像这样:

$ git co deployment-branch-1
$ git log --oneline --decorate
J (HEAD, deployment-branch-1) branch commit
I branch commit
H branch commit
G branch commit

... 但可惜没有 A 或更早的提交行。我想从分支的尖端一直显示日志,包括在分支点之前进行的提交。像这样:

J (HEAD, deployment-branch-1) branch commit
I branch commit
H branch commit
G branch commit
A (master) master commit
X master commit

所以我的问题是,如何显示更长的日志?

【问题讨论】:

    标签: git git-branch


    【解决方案1】:

    我希望为一个分支显示整个日志;不仅仅是从分支点到 HEAD 的日志。您可以尝试使用<source>..<target> 选项:

    git log --oneline --decorate X..J
    

    一个例子。这是

    的输出
       git log --oneline --graph --all
    
    * 1eaa578 histogrammer
    | * 9c7e745 Revert "Revert "Initial README""
    | * 63a94ef Revert "Initial README"
    | * 8c7f0ec Use ...; remove define-values, vector-copy, and case-lambda; a
    |/  
    * 18e6e26 Initial README
    * 528c542 Add copyright notice based on the MIT License
    ...
    

    然后我结帐9c7e745(这是一个分支的负责人foo)。然后尝试git log --oneline。您可以看到它继续超出分支。

    9c7e745 Revert "Revert "Initial README""
    63a94ef Revert "Initial README"
    8c7f0ec Use ...; remove define-values, vector-copy, and case-lambda; add f
    18e6e26 Initial README
    528c542 Add copyright notice based on the MIT License
    ...
    

    我的 git 版本:

    ebg@ebg(181)$ git --version
    git version 1.7.9.6 (Apple Git-31.1)
    

    和没有区别:

    ebg@ebg(185)$ /usr/local/bin/git --version
    git version 1.7.10.3
    

    【讨论】:

    • 恐怕这行不通。我尝试了git version 1.7.10.2 (Apple Git-33),它停在“G”(分支点之后的第一个唯一提交)。它对你有用吗?
    • 查看编辑。我看到了整个日志。请注意,有很多选项可以限制git log 的输出(请参阅kernel.org/pub/software/scm/git/docs/git-log.html)。也许您安装了一些设置默认值的东西。试试git log --all
    • 不,git log --all 不是我想要的,因为它会给我所有分支上的所有提交。我只想要从当前分支返回主分支的路径
    • 我知道这不是你想要的;不知道为什么我在这一点上建议它。正如您从我的编辑中看到的那样,在执行git log --oneline --graph --all 以确保我的分支结构符合预期之后,我从一个签出的分支中执行了git log --oneline,我看到了所有分支历史记录(包括分支点之外)。祝你好运。
    猜你喜欢
    • 2016-06-12
    • 2023-04-01
    • 2022-07-21
    • 2014-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 2012-11-04
    相关资源
    最近更新 更多