如何在rebase之后重新创建合并提交?

时间:2015-10-11 02:23:29

标签: git git-rebase

我刚刚修改了一个实验分支,以便与新主线保持同步。那个分支里面有一个功能分支。我想保留它,但现在它已经丢失了。我想重新创建它而不必再次进行rebase(有几个耗时的冲突)。我怎么能这样做?

我从这开始。

Z [stable]
|
Y
…
|
| J [experiment]
| |\
| | I
| | |
| | H
| | |
| | G
| |/
| F
| |
| E
|/
D [last-sync-with-stable]
…

git rebase --ignore-whitespace --onto stable last-sync-with-stable experiment之后我结束了这个。

I1 [experiment]
|
H1
|
G1
|
F1
|
E1
|
Z [stable]
|
Y
…

合并提交J已经丢失了,事实上G,H和I都是作为一个单元完成的,同时还有J的日志消息中的基本原理,警告和问题编号。我想回来。我想要这个。

J1 [experiment]
|\
| I1
| |
| H1
| |
| G1
|/
F1
|
E1
|
Z [stable]
|
Y
…

我现在知道我应该使用rebase运行--preserve-merges,但我不想重新运行rebase并再次修复所有冲突。

如何保留合并提交,日志消息,作者日期和时间以及所有这些而不必再次修复冲突?我意识到我可以再次手动执行合并,复制日志消息,设置作者日期和所有......我正在寻找一种更优雅的方式供将来使用。对于合并提交,有点像cherry-pick

0 个答案:

没有答案