假设我有一个如下所示的 git 存储库:
merge-base---A1--A2------A3------A4 (branchA)
\
----------B1------B2 (branchB)
为了让事情更简单,假设分支 A 上的提交是对文件 A 的严格修改,分支 B 上的提交是对文件 B 的严格修改。
我想将这些分支 merge 到第三个分支 branchAB,其中提交将按日期排序:
merge-base---A1--A2------A3------A4 (branchA)
\
----------B1------B2 (branchB)
\
A1--A2--B1--A3--B2--A4 (branchAB)
有没有一种方法可以使用单个 git 命令自动执行此操作,或者我是否坚持使用手动方法(例如 cherry picking 或 rebase -i)?
顺便说一句,merge-base
是一个标签。
最佳答案
这是一个基于 adymitruk's original answer 的解决方案,可以满足我的需求:
git checkout -b branchAB merge-base
git merge branchA
git merge branchB
git rebase --onto merge-base merge-base branchAB
关于git - 如何根据每次提交的日期将两个分支 merge 为一个分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5410742/