两周前,分支“ branch-one”(在两个月前创建,包含很多旧代码)合并为“ master”,此提交的名称为“ commit123”。合并后,团队工作并做出了很多承诺。需要删除此合并,但保存后续提交。
我看到了解决方案:在进行后续选择的添加之后,还原合并提交,但这是长久的解决方案。
有人能建议很多乐观和简短的解决方案吗?
答案 0 :(得分:1)
如果,您在重写历史记录时没有问题,请摆脱历史记录中的合并并在其后重播历史记录。我们将该修订称为 merge-rev
git checkout merge-rev~1 # right before the revision you want to get rid of
git cherry-pick merge-rev..master # linear history between merge and master (not including the merge you want to get rid). Adjust if the branch is not master
# if you like the results
git branch -f master
git push -f some-remote master # if you need to push somewhere to replace the old branch
这是假设您要删除的合并后历史记录是线性的。
答案 1 :(得分:0)
e.x:
we have 3 flow file.
1) prepare-file.xml
2) prepare-database.xml
3) enrich-object.xml
which eventually call like prepare-file.xml-->prepare-database.xml-->enrich-object.xml
压缩后的提交与合并具有相同的内容,但更容易在主服务器上还原。