2013-02-10 126 views
0

在某些时候,我决定开始测试我的C++类。所以我去了我的主分支并从它分支到一个叫做“测试”的新分支。我创建了一个包含一些基本测试的/ tests文件夹,并在我的Automake.am文件(我使用GNU Build System,a.k.a Autotools,作为我的编译系统)的check_PROGRAMS下添加了测试程序名称。Git将更新后的主合并到一个分支中

由于我的项目还处于非常早期的阶段,因此没有稳定的版本。大多数接口都是stil被构建的,所以现在为所有接口编写完整的测试还为时过早,因为接口将会改变,我将不得不重写许多测试。但是我有一个分支,我开发了一些或多或少的我想测试的独立算法。我的GUI并不完整,但在编写使用它们的GUI之前,我确实想测试这些算法。

所以我看到的选项:1。 合并“测试”的掌握,然后合并“大师”的算法的分支 2.合并“测试”的算法的分支 3.只需创建/检查文件夹在算法分支现在没有任何合并

一些分支有一些文件被重命名或删除,因为它是这样一个早期阶段,所以如果我将测试/主合并到算法分支,我会得到一个测试文件夹充满不相关试验。但算法接口是项目的第一部分,可以完全准备测试并变得稳定并可以使用,所以如果我不合并,我会得到一个“干净的”测试文件夹,其中目前唯一的测试是一个测试算法,这是第一个准备好接口的片断,所以我不希望在那里发生变化,只是修复我检测哪些测试的错误。

这里最好的合并/非合并策略是什么?

回答

1

我能想到的两个选项:

  1. 如果你已经做了的测试工作中的“测试”分支的一些配置,然后去选择2:

    Merge "testing" to the "algorithm" branch 
    

    那方式,你不会再放松时间再配置一切。

    至于你称之为不相关的测试,如果它们真的不相关,你可以在执行合并之前简单地删除它们。但是检查测试配置是否工作的测试并非无关紧要。我不知道这是你的情况。

  2. 第二种选择是从“算法”创建一个新分支,我们称之为“算法2”。

    Merge "testing" into "algorithm2" 
    

    如果一切正常,您可以删除“算法”分支。这将是向算法分支引入新更改的安全方式。

1

为什么你想在不同的分支你的测试? git中的分支通常用于在项目的并行版本之间切换,例如, “稳定”和“发展”。在“版本与测试”和“没有测试的版本”之间切换的目的是什么?

最有意义的是在所有分支机构进行测试。然后,您的主分支中的测试不需要工作,因为您的代码没有完成,您可以在主分支之前的算法分支中执行测试。当你最终得到主测试工作时,你可以合并算法分支。

0

最好的总体策略是让主分支持有稳定版或将要稳定版。 1.0,2.0 ..等 然后,对于每个测试或功能,您可以创建一个称为功能分支的东西。 删除文件并不是什么大问题,因为git rm文件将在合并中完成。 总是与主分支(2.0)合并通过拉请求

玩得开心。

相关问题