Git-> 3个单独的代码库路径的版本控制

时间:2019-06-06 15:06:50

标签: git

我是一名电气工程学,试图学习软件工具来帮助我完成工作。我对git非常熟悉,但是不如这里的专家那么流利。

我有一个自动化测试系统,可以使用几台仪器和专有(旧式)软件自动化工具来测试硬件设备。

该软件工具使用文本文件来概述要涵盖的所有测试用例以及如何测试它们,并且该文件使用特定的语法。

但是,我们正在将一个硬件平台用于多个产品,所有产品之间的差异都很小(例如频率差异。为了论证,假设我们将测试文件中的某些单词更改为不同的单词基于地理位置的同义词。在北美,我们使用“谢谢!”一词,如果在英国销售,则使用“ Cheers!”,如果在加拿大销售,则使用“ Regards”。

在开发代码库时,有多个文件用于不同的测试场景>

但是,每个频率变量都需要SAME文件,但每个文件的同义词都会发生变化。

随着我们继续开发,我们将不得不对每个文件进行更改(添加更多行测试用例,更正错误),并且这些更改必须在其他Frequency Variant文件中进行。

很遗憾,我们不能将所有文件共存于同一文件夹中,否则我们的自动化系统会看到冲突。

所以我要尝试的方法是:

伟大的git repo for TestDefinitions testdefinition文件将以适当的名称存储在文件夹中 -Transmit_Test.txt -Receive_Test.txt -Compliance_test.txt

然后,每个频率变量基本上都有不同的分支: -硕士(通用模板) -频率_1 -频率_2 -Frequency_3

然后,如果我需要对其他变体产品进行测试,则只需签出一个differentnet分支。


我认为此时无需显示一些代码,但如有必要,我可以显示git repo的转储。

有没有更有效的方法来做到这一点? 我意识到我没有按照设计的方式使用git, 我担心我们可能会有3个分支彼此分开,并且可能会意外合并我们不应该合并的东西。t

我应该保持原样并独立管理更改吗? 我应该创建3个不同的存储库吗?

我应该回到复制粘贴吗?

1 个答案:

答案 0 :(得分:1)

您可以分成多个分支,每个频率一个具有自己的功能,而一个主分支具有相同的功能。

Before

在合并分支的情况下,如果您需要向一个频率分支中添加一个公共功能,则只需选择所需的功能即可。

例如,假设您需要在频率2分支上添加公共特征4,则可以执行以下操作:

$ git checkout frequency2
$ git cherry-pick 8552d2ba # ID, branch or tag of the common feature to pick

结果将是

enter image description here

通过这种方式,您可以选择进入频率分支的内容,使它们保持独立。