【问题标题】:Git log only master branchGit 仅记录 master 分支
【发布时间】:2014-09-17 00:50:54
【问题描述】:

有没有办法在 git log 中只显示 master 分支曾经指向的提交?

例如:

*   c7e0107 - (22 hours ago) Merge branch 'branch_b' - MASTER
|\
| *   3b90496 - (22 hours ago) Merge branch 'branch_a' into branch_b -
| |\
| * | 033fef1 - (22 hours ago) _____________ -
| * | 29449c6 - (22 hours ago) _____________ - 
* | |   cbd8a15 - (22 hours ago) Merge branch 'branch_a' - MASTER
|\ \ \
| | |/
| |/|
| * | e5e4aa4 - (22 hours ago) _____________ - 
| * | 7215282 - (22 hours ago) _____________ - 
| * | e9aadd9 - (22 hours ago) _____________ - 
| * | 4824cef - (22 hours ago) _____________ - 
* | | 4a13ff3 - (22 hours ago) _____________ - MASTER
| |/
|/|
* | 77b9965 - (22 hours ago) _____________ - MASTER
* | 47fef00 - (22 hours ago) _____________ - MASTER
|/
* 2cd1c2e - (22 hours ago) _____________ - MASTER
* 768ebc8 - (22 hours ago) _____________ - MASTER

我只想显示描述为“MASTER”的提交。我注意到“--first-parent”选项或“git cherry -v master”不起作用。我也不能从图中执行此操作,因为 master 分支通常不在最左侧。

【问题讨论】:

  • 这就是git log 显示的内容,当您在master 分支上运行它时。它将显示可以从 HEAD 访问的所有提交。
  • 我不明白你想做什么。您向我们显示的日志正是您想要的:它仅显示可从主分支访问的提交。
  • 我想提取报告的主要产品路径。例如,“主分支(指针)”从未指向提交 3b90496

标签: git branch git-commit git-log


【解决方案1】:

--first-parent 选项应该可以解决问题

【讨论】:

  • --first-parent 顾名思义接受第一父母,所以如果有人将 master 合并到任何其他分支 X 中,则此提交的第一父将完全从分支 X 提交。这意味着它显示来自功能分支 X 而不是 master 的提交以及此合并提交。但是,我写过问题,那 --first-parent 不起作用。
猜你喜欢
  • 2012-11-28
  • 1970-01-01
  • 2012-05-22
  • 2022-01-08
  • 1970-01-01
  • 2013-01-14
  • 2011-04-22
  • 2018-04-15
相关资源
最近更新 更多