向git commit添加元数据以获取有关如何测试的说明

向git commit添加元数据以获取有关如何测试的说明,git,git-commit,Git,Git Commit,我们有一个基本的CI/CD系统…当推送发生时,Bitbucket将通知我们的一个服务器-有提交sha和repo等 但(对我来说)没有明显的方法根据提交情况对回购协议进行不同的测试。特别是如果它是一个大型回购,我们可能无法测试一切。所以我是这样想的: git commit -am "regular commit message # path/to/test/folder" 因此,提交消息中最后一个#之后的所有内容都是指向包含test.sh文件的文件夹的路径。如果我们有git预提交挂钩,我们可以验

我们有一个基本的CI/CD系统…当推送发生时,Bitbucket将通知我们的一个服务器-有提交sha和repo等

但(对我来说)没有明显的方法根据提交情况对回购协议进行不同的测试。特别是如果它是一个大型回购,我们可能无法测试一切。所以我是这样想的:

git commit -am "regular commit message # path/to/test/folder"
因此,提交消息中最后一个#之后的所有内容都是指向包含test.sh文件的文件夹的路径。如果我们有git预提交挂钩,我们可以验证提交消息中的信息吗


有更好的方法吗?向提交中添加一些元数据,以指导CI/CD服务器如何测试提交?

最好将提交消息用于其预期目的—描述提交的内容和基本原理。给你

关于CI/CD-
在某些情况下,不想测试所有内容是有意义的,但我建议尽可能晚地划分测试。注意,在每次提交时测试所有内容,并尽可能快地保持测试。当您需要进一步优化时,您可以按测试的运行时间对测试进行分区—在每次提交时运行所有“快”测试,在夜间作业中运行所有“慢”测试。

最佳做法是将此类元数据放入提交消息,并使用头将其与任何其他元数据区分开来。例如,Gerrit使用
更改Id
标题:

Change-Id: xyzzy
所以你的命令应该是

git commit -a -m "regular commit message" -m "Test: path/to/test/folder"
这将生成提交消息

regular commit message

Test: path/to/test/folder

其余部分由测试脚本决定。

好的,那么两个或三个-m标志呢?-m标志如何与Change-Id头相关?
Change-Id
只是一个例子。在命令行中可以使用一些标志
-m
,它们的值用一个空行分隔。因此,头只是提交消息中的一个换行?
Change Id:value
是头。这只是一个例子,您应该开发自己的标题。您可以使用选项
-m
或将其值传递给git commit。