【问题标题】:svn - merge trunk changes into branch and then put branch changes back into the trunksvn - 将主干更改合并到分支中,然后将分支更改放回主干
【发布时间】:2014-10-06 21:30:14
【问题描述】:

我正在使用 SVN 1.6 和乌龟客户端。我是新手。

我有一个存放主要生产代码的后备箱。 我从“主干”创建了一个分支“devBranch”

在过去的一个月左右,我确实在“开发分支”中签入,而许多签入是在“主干”中完成的

我的开发现已完成,我想测试我的版本,其中包含自从我分支以来的所有“主干”更改。

在我用“主干”中所做的更改完全测试我的代码之前,我不想将我的更改放在“主干”中

一旦我测试了合并版本并完成了所有测试,然后我想将我的所有更改放在“主干”中以进行生产 QA 和发布。

请问我该如何一步一步来。

【问题讨论】:

    标签: svn merge


    【解决方案1】:

    这在免费且可读性很强的“S​​VN Book”中有详细介绍;具体来说,the section on "reintegrating a branch"

    简而言之,您分为三个阶段:

    • 从主干上的某个点创建分支,并开始进行更改。
    • 因为这是一个“功能”分支,并且被认为是“领先于”主干(我使用助记符“功能是未来”来提醒人们这一点;另一方面,“发布分支”在 后面 主干,而合并则相反),定期将主干上发生的所有事情合并到分支上。您执行此操作的频率越高,您在准备重新整合时花费在整理冲突上的时间就越少。
    • 一旦您测试了您的更改 - 包括它们与从主干“转发”合并的更改交互的方式,您可以使用特殊的“重新整合合并”命令来合并 主干来自 em> 你的分支。由于分支已经包含了主干上发生的所有事情(如果没有,SVN 将中止合并),这基本上会用分支覆盖主干。然后你应该删除分支,因为这个命令不能运行两次。

    请注意,在较新版本的 SVN 中,最后一步是正常“合并”命令的自动模式,并且可以重复多次,因为存储和解释合并信息的算法已得到改进。

    上面链接的指南在编写时考虑了基本的 SVN 工具(即命令行界面)。 TortoiseSVN 中也提供了相同的功能,as documented here。基本上:

    • 要打开合并向导,请右键单击 target 文件夹的结帐,然后在第二页的“merge from”框中输入 source魔法师。它需要完整的 URL;最简单的方法是右键单击查看源文件夹,选择属性,然后查看 Subversion 选项卡的顶部。
    • 普通合并(主干到功能分支)是第一个选项,“合并一系列修订”。
    • 重新整合合并是第三种选择。
    • 大部分选项都可以保留为默认值。

    【讨论】:

    • 这是基于命令的。试图找到它如何使用基于 Tortois GUI 的客户端。
    • @bsobaid 过程完全一样,只不过不是输入“svn merge”,而是右键单击目标目录,然后单击“merge”。然后,您将获得一个向导 UI 来指导您完成合并选项。见tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-merge.html
    猜你喜欢
    • 2016-11-01
    • 2012-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多