【问题标题】:Merge branches with no "simultaneous" changes and keep branch structure合并没有“同时”更改的分支并保持分支结构
【发布时间】:2013-01-17 22:24:10
【问题描述】:

当我有这样的分支时:

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

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

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

现在,即使我删除了topic 分支(假设它只是一个本地开发分支,我只推送master)我仍然会知道从@987654325 开始实现的功能@ 并在 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 达到同样的效果吗?

【问题讨论】:

    标签: git git-branch git-merge


    【解决方案1】:

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

    git checkout E
    git merge --no-ff C
    

    更多信息请参见git-merge(1) 文档。

    【讨论】:

    • 哦,一个 RTFM 问题,抱歉。不过谢谢,正是我想要的!
    猜你喜欢
    • 1970-01-01
    • 2015-10-02
    • 2015-02-19
    • 2019-07-31
    • 2017-04-25
    • 1970-01-01
    • 2014-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多