如何使用git将测试与主分支分开?
我是git的新手,我对在其存储库中维护项目的测试用例特别感兴趣如何使用git将测试与主分支分开?,git,github,workflow,Git,Github,Workflow,我是git的新手,我对在其存储库中维护项目的测试用例特别感兴趣 这是一个小的Bash端项目,我有几个存储库。我希望在同一回购协议中维护测试用例。我该怎么做呢?我是否维护一个长寿命的测试分支,在那里我从dev分支合并更改,运行测试,然后合并到发布分支?但是这样做会迫使我从测试分支中挑选特性/更改(假设我在测试分支中也进行了更改),从而避免合并测试用例。 我看到的分支模型讨论了在新提交到开发分支上运行测试套件,作为单独运行的CI/CD。它对于大型项目来说是有意义的,并且是方便的,但对于小型项目来说不
我确实希望测试用例位于同一存储库中,但可能不在同一分支中。
只是想保持树枝整齐有序 其中一个技巧是:
- 将测试放在单独的分支中
- 将主分支中的测试作为子模块参考
然后将该分支作为子模块添加到主模块中:
git submodule add -b test git@github.com:user/repo.git test
git commit -m "added test as submodule"
git push
默认情况下,签出的回购(生产中)将有一个空的测试子文件夹。如果(在开发中)添加一个
git子模块更新--init
,那么测试子文件夹将包括测试内容
每次修改测试时,都会添加、提交和从子模块推送(设置为推送到test
分支)。然后返回父文件夹(位于
master
分支中的文件夹),添加、提交并推送更改的(表示测试的新SHA1
子模块repo)为什么不将测试用例保存在同一存储库和同一分支中?为什么测试用例应该是与代码分开的版本?一个相当标准的做法是总是要求新功能与测试合并。我确实希望测试用例在同一个存储库中,但可能不在同一个分支中,因为我不希望测试用例与“生产就绪代码”一起出现当释放分支签出时。@antlersoft Well,它可以位于同一分支中。我考虑的更多是将测试用例和工作代码分开维护。将测试用例与生产代码一起呈现有什么关系?它们是否会部署到磁盘空间极其有限的硬件上,以至于测试用例中的字符非常昂贵?谢谢。看起来我必须尝试子模块的变体,看看哪一个最适合。我已经有了一些子模块,我认为这些子模块作为依赖项是必要的,但现在看来是多余的。所以,这应该是可行的。