当我有这样的分支时:
A---B---C topic
/
D---E---F---G master
并将主题合并回主人,我会得到这个:
A---B---C topic
/ \
D---E---F---G---H master
现在,即使我删除topic
分支(假设它只是一个本地开发分支而我只推master
),我仍然会有信息,有一个功能实现从E
开始,到H
结束。
当我在master
分支上工作时,topic
分支上没有同时提交时,是否可以保持同样的信息?例如:
A---B---C topic
/
D---E master
如果我现在合并,我会得到这个:
D---E---A---B---C master/topic
如果删除主题分支,将来我将无法获得topic
分支中实现的功能的信息。即使我保留了分支机构,我也不知道它从哪里开始。
我更愿意保留父母,并且有这样的事情:
A---B---C topic
/ \
D---E-----------F master
我认为这是svn的默认行为。我可以用git实现同样的目标吗?
答案 0 :(得分:4)
是的,即使合并解析为快进案例,使用--no-ff
标志也会创建合并提交。示例(假设您从C
开始):
git checkout E
git merge --no-ff C
有关详细信息,请参阅git-merge(1)
文档。