You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按合并日期查看Git分支的提交历史?

按合并时间排序Git分支历史的解决方法

核心方案:聚焦合并提交排序

要快速定位晚合并到指定分支的变更,优先关注**合并提交(merge commit)**即可——合并提交的提交时间就是变更被整合到目标分支的时间。

1. 仅显示合并提交并按合并时间降序排列

执行以下命令(将main替换为你的目标分支名):

git log --merges --pretty=format:"%cd %h %s" --date=iso main
  • --merges:仅筛选合并提交
  • %cd:显示合并提交的时间(即合并到分支的时间)
  • %h:显示短提交哈希
  • %s:显示提交信息
  • 结果默认按时间降序排列,晚合并的记录会排在最前面

2. 查看合并提交的详细变更

找到目标合并提交的哈希后,用以下命令查看具体变更:

git show <merge-hash>

进阶方案:修复拓扑顺序无效问题

如果之前使用--topo-order无效,试试结合--first-parent选项,只追踪目标分支的主线提交(包括合并提交),确保历史严格按分支合并的先后顺序展示:

git log --first-parent --topo-order --pretty=format:"%cd %h %s" --date=iso main
  • --first-parent:只显示目标分支的第一父提交,忽略合并进来的分支的历史细节,聚焦主线的合并时间线

补充:全局提交按合并关联时间排序

如果需要查看所有提交(包括分支内的普通提交),并尽可能按合并相关时间排序,可以指定按提交者时间降序:

git log --sort=-committerdate --pretty=format:"%cd %h %s" --date=iso main
  • -committerdate:按提交者时间降序,合并提交的提交者时间就是合并时间,普通提交则显示原提交时间

内容的提问来源于stack exchange,提问作者daltairwalter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 19:32:15