Git 中按时间顺序完美合并 master 和 branch

Perfect merge chronologically master and branch in Git

我有一个简单的存储库,有两个分支:masterbranch
branch 很久以前就创建了,并且在两个分支上都积累了提交。
合并的方式主要有两种:mergerebase merge.
我不会描述第一种情况,我对第二种情况感兴趣。
rebase merge 将在 masterHEAD 之后应用 branch 提交。
日志历史被重写,我正在寻找一种更好的方法来合并尊重时间顺序。

假设我有这种存储库。
1 已在 2 之前创建,2 已在 3 之前创建,依此类推...

  7        6
  5        4
  3        2
  1--------1
master   branch

我想对日期进行完美合并:

  7        7
  6        6
  5        5
  4        4
  3        3
  2        2
  1--------1
master   branch

我知道 git rebase -i,有没有办法自动执行此操作?
另外,我认为这会因为重写历史而在其他本地克隆存储库中造成麻烦。
有没有办法安全地执行此操作?

I'm aware of git rebase -i, is there a way to perform this automatically ?

我认为没有办法自动执行此操作,除非创建自定义脚本来处理逻辑(从长远来看可能不值得 运行)。 $ git rebase -i(交互式变基)是去这里的方法。

Also, I think this will create troubles in other local cloned repositories because of rewritten history. Is there a way to safely perform this ?

如果这个存储库和这些提交在某个地方发布,是的,这可能是一个巨大的问题,并且让其他人难以解决。 "safe" 方法是不重写历史。我知道这不是你要找的东西,但通常重写 git 历史是不值得的, 尤其是 在处理将被推送到的提交时与其他贡献者的远程存储库。