1

当我有这样的分支时:

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

并将主题合并回master,我会得到这个:

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

现在,即使我删除了topic分支(假设它只是一个本地开发分支并且我只 push 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 达到同样的效果吗?

4

1 回答 1

4

--no-ff是的,即使合并解析为快进情况,使用该标志也会创建合并提交。示例(假设您从 开始C):

git checkout E
git merge --no-ff C

文档中提供了更多信息git-merge(1)

于 2013-01-17T22:25:44.493 回答