[英]Git remove commits between branches
我在Git中有以下历史记录:
(master) A - B - C
\
(dev) D - E - F - G - H - I
我想创建这样的东西:
(master) A - B - C
| \
(patch_1) |- E' - G' (G' shouldn't contain the changes happened at F commit)
(patch_2) |- D' - F' (F' shouldn't contain the changes happened at E commit)
(dev) |- D - E - F - G - H - I
是否可以创建这样的东西?
如果不可能,则可以使用以下选项更好:
1.从头开始重写代码?
2.用“ nice”和大提交消息将所有这些提交压缩为一个?
我能想到的一种可能的解决方案是使用git cherry-pick。
转到dev分支,获取E,G,D和F的SHA-1提交(使用git log --oneline)。
在master分支中,创建patch_1分支,并使用E,G的SHA-1(作为参数)发出git cherry-pick命令。
从master分支创建patch_2分支,并使用D,F的SHA-1(作为参数)发出git cherry-pick命令。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.