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

如何将两个分支的提交按作者日期交错合并为线性历史?

按作者日期线性合并多分支提交到main的高效方法

你可以通过批量按作者日期排序的cherry-pick实现,不用手动逐个选择提交,步骤如下:

  1. 切换到main分支:
git checkout main
  1. 执行批量cherry-pick命令,自动按作者日期从早到晚合并a、b分支的所有提交:
git cherry-pick $(git log --reverse --author-date-order --format="%H" main..a main..b)

命令说明:

  • git log --reverse --author-date-order --format="%H" main..a main..b:
    • main..a 和 main..b:筛选出a、b分支上不在main中的提交
    • --author-date-order:按作者实际提交日期排序(而非提交被合并到分支的日期)
    • --reverse:将排序结果反转成从早到晚的顺序
    • --format="%H":仅输出提交的完整哈希值,作为cherry-pick的执行参数

如果过程中遇到冲突,解决冲突后执行git cherry-pick --continue即可继续后续提交的合并,和手动cherry-pick的冲突处理逻辑一致。

这种方法完全替代了手动逐个选择提交的操作,自动按作者日期完成线性历史构建,最终main分支会呈现你想要的线性结构。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 17:42:20