我刚刚修改了一个实验分支,以便与新主线保持同步。那个分支里面有一个功能分支。我想保留它,但现在它已经丢失了。我想重新创建它而不必再次进行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
。