如何设计一个git存储库架构,以便在所有分支上进行统一测试? [关闭]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何设计一个git存储库架构,以便在所有分支上进行统一测试? [关闭]相关的知识,希望对你有一定的参考价值。
我的问题比这复杂一点,但让我们假设以下情况简单:(如果需要更详细的信息,请发表评论,我会澄清)
我有一个项目,有几个分支竞争某个功能的实现。
我想检查每个分支符合规范的程度(也在不断改进),为此,我编写了一组测试,每隔几天添加一个新的测试。
这样我的'超级项目'就必须有子项目:'图书馆'和'图书馆测试'。
我(显然)希望将它们都置于版本控制之下。
我真的不明白如何设计存储库架构。
说,现在我有一个'库'的git repo。
我可以在里面创建一个非版本化的目录'tests'并将所有测试放入其中。然后我还要添加一个文件'testbranches.bat',它将逐个检出repo中的每个分支并运行测试,将报告放在'tests'目录中。
但在这种情况下,我的测试不受版本控制。另外,每次运行'git status'时,我都会收到令人讨厌的消息。
我无法将这些'tests'和'testbranches.bat'添加到.gitignore并提交给每个分支,因为有人可能会在添加之前派生出一个分支。 (好吧,我可以为每次提交做'git filter-tree,但它总是容易出错,也是一项非常繁重的任务。)
我可以尝试不同的方法,而是将测试放在一个单独的仓库中,比如'library-tests',在目录中创建一个目录'test-subject',并将其添加到'.gitignore'中。然后我的'testbranches.bat'将'cd'到这个目录,拉出所有分支,逐个检出所有分支并为每个分支运行测试。
似乎工作,但涉及大量复制,一般看起来有点提。
在这种情况下,我如何设计我的存储库架构?
git worktree
,that I describe here,很有趣,因为它允许克隆一次,但检查每个分支在自己的本地文件夹中。
这意味着您可以将您的测试逻辑完全置于Git仓库之外(无需管理.gitignore
),并让您的测试脚本进入每个文件夹,如果需要更新内容(git pull
),并进行测试。
以上是关于如何设计一个git存储库架构,以便在所有分支上进行统一测试? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章