如何使用 git 将测试与主分支分开?
How to keep tests apart from the main branch with git?
我是 git 的新手,我对在其存储库中维护项目的测试用例特别感兴趣。
这是一个小型 Bash 副项目,我有几个存储库。我想在同一个仓库中维护测试用例。我该怎么办?我是否维护一个长期存在的测试分支,在其中合并来自开发分支的更改,运行 测试,然后合并到发布分支?但是这样做会迫使我从测试分支中挑选 feature/change(假设我也在测试分支中进行更改),这样我也可以避免合并测试用例。
我查看的分支模型讨论了 运行ning 测试套件作为 CI/CD 东西 运行ning 的新提交到开发分支。对大项目有意义,对小项目不方便?
此外,我将如何推进测试用例本身的开发?为每个此类项目的测试用例维护单独的存储库不会增加存储库的数量吗?
我一直在寻找最佳实践,其中我牢记以下几点:保持任何测试工件的发布分支干净。在单独的分支中开发。测试是否值得发布,如果不进行更改,再次测试并仅将更改合并到发布分支。 VonC 的回答似乎适合这种流程。
I do want the test cases to be in the same repository but perhaps not in the same branch.
Just wanted to keep the branches neat and organized
一个技巧是:
- 将测试放在单独的分支中
- 将主分支中的测试作为子模块引用
请参阅 What's the easiest way to deploy a folder to a branch in git?
中的完整示例
您在推送的分支测试中提交测试。
然后将该分支添加为 master 中的子模块:
git submodule add -b test git@github.com:user/repo.git test
git commit -m "added test as submodule"
git push
您的 checked-out 存储库(在生产中)默认有一个空的测试子文件夹。
如果您添加(在开发中)git submodule update --init
、,那么 测试子文件夹将包含测试内容。
每次修改测试时,您都会从子模块(设置为推送到 test
分支)添加、提交和推送。
然后返回父文件夹(master
分支中的文件夹),添加、提交并推送更改的 gitlink (special entry in the index,代表 test
子模块回购的新 SHA1)
我是 git 的新手,我对在其存储库中维护项目的测试用例特别感兴趣。
这是一个小型 Bash 副项目,我有几个存储库。我想在同一个仓库中维护测试用例。我该怎么办?我是否维护一个长期存在的测试分支,在其中合并来自开发分支的更改,运行 测试,然后合并到发布分支?但是这样做会迫使我从测试分支中挑选 feature/change(假设我也在测试分支中进行更改),这样我也可以避免合并测试用例。 我查看的分支模型讨论了 运行ning 测试套件作为 CI/CD 东西 运行ning 的新提交到开发分支。对大项目有意义,对小项目不方便?
此外,我将如何推进测试用例本身的开发?为每个此类项目的测试用例维护单独的存储库不会增加存储库的数量吗?
我一直在寻找最佳实践,其中我牢记以下几点:保持任何测试工件的发布分支干净。在单独的分支中开发。测试是否值得发布,如果不进行更改,再次测试并仅将更改合并到发布分支。 VonC 的回答似乎适合这种流程。
I do want the test cases to be in the same repository but perhaps not in the same branch.
Just wanted to keep the branches neat and organized
一个技巧是:
- 将测试放在单独的分支中
- 将主分支中的测试作为子模块引用
请参阅 What's the easiest way to deploy a folder to a branch in git?
中的完整示例您在推送的分支测试中提交测试。
然后将该分支添加为 master 中的子模块:
git submodule add -b test git@github.com:user/repo.git test
git commit -m "added test as submodule"
git push
您的 checked-out 存储库(在生产中)默认有一个空的测试子文件夹。
如果您添加(在开发中)git submodule update --init
、,那么 测试子文件夹将包含测试内容。
每次修改测试时,您都会从子模块(设置为推送到 test
分支)添加、提交和推送。
然后返回父文件夹(master
分支中的文件夹),添加、提交并推送更改的 gitlink (special entry in the index,代表 test
子模块回购的新 SHA1)