在我们的Git存储库中,我们有一些应该与--no-ff
合并但未合并的分支的合并。这些合并是很久以前的。
有没有办法强制/插入提交,就像我们使用--no-ff
参数运行那些旧的合并一样?
该项目的一位超级人员喜欢GitHub的网络视图,并希望能够看到各个分支,这些分支在快进时都会合并为一行。
答案 0 :(得分:2)
如果您不介意拥有新的主要/主要分支(或覆盖旧分支 - 但请记住,重写已发布的历史 BAD ),您可以简单地重新创建合并, if 你还记得,当它们/应该被制作时:
查看第一个忘记/不存在/错过合并:
git checkout -b new_master $commit_before_merge
合并旧提交。如果您需要正确的合并消息(包括原始分支名称),您可能需要暂时重新创建旧分支,或手动编辑消息。
git merge $head_commit_of_old_branch
然后,您必须使用cherry-pick
或rebase
将提交从原始主分支复制到新的“mergy”分支。 (带有提交范围的cherry-pick需要最近发布的Git)
git cherry-pick $commit_before_merge..$commit_before_next_merge
返回第2步并重复直至您对历史感到满意为止。
NB。首先在本地克隆中进行备份和测试。