Git 中按时间顺序完美合并 master 和 branch
Perfect merge chronologically master and branch in Git
我有一个简单的存储库,有两个分支:master
和 branch
branch
很久以前就创建了,并且在两个分支上都积累了提交。
合并的方式主要有两种:merge
和rebase merge
.
我不会描述第一种情况,我对第二种情况感兴趣。
rebase merge
将在 master
的 HEAD
之后应用 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 历史是不值得的, 尤其是 在处理将被推送到的提交时与其他贡献者的远程存储库。
我有一个简单的存储库,有两个分支:master
和 branch
branch
很久以前就创建了,并且在两个分支上都积累了提交。
合并的方式主要有两种:merge
和rebase merge
.
我不会描述第一种情况,我对第二种情况感兴趣。
rebase merge
将在 master
的 HEAD
之后应用 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 历史是不值得的, 尤其是 在处理将被推送到的提交时与其他贡献者的远程存储库。