2013-01-17 71 views
1

当我有这样的一个分支:合并分支没有“同步”的变化,并保持分支结构

 A---B---C topic 
    /
D---E---F---G master 

和合并话题回到主人,我会得到这样的:

 A---B---C topic 
    /  \ 
D---E---F---G---H master 

现在,即使我删除了topic分支(假设它只是一个本地开发分支,而我只推master),我仍然会得到这样的信息,即从E开始执行的一项功能,并在H处完成。

当我在topic分支上工作时,在master分支上没有同时提交时,是否可以保持同一种信息?例如:

 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达到同样的效果吗?

回答

4

是的,使用--no-ff标志将创建合并提交,即使合并解析为快进案例。例如(假设你在C开始):

git checkout E 
git merge --no-ff C 

更多信息,请在git-merge(1)文档。

+0

哦,RTFM问题,对不起。不过谢谢,正是我在找的! – Jawap