Git 将分支合并到主机时,自动增加主机上的补丁版本
给定: Bitbucket repo和两名开发人员Steve和Bob,他们分别从事feature/alpha和feature/beta两个分支的工作。在主分支和功能分支上,我们有一个版本为8.3.0的属性文件 如何…… 确保Bob或Steve将其pull请求合并到主机后,主机上的补丁版本会增加?即:Git 将分支合并到主机时,自动增加主机上的补丁版本,git,bitbucket,version,Git,Bitbucket,Version,给定: Bitbucket repo和两名开发人员Steve和Bob,他们分别从事feature/alpha和feature/beta两个分支的工作。在主分支和功能分支上,我们有一个版本为8.3.0的属性文件 如何…… 确保Bob或Steve将其pull请求合并到主机后,主机上的补丁版本会增加?即: Steve首先完成了他的feature/alpha,他的pull请求被批准,当他将其合并到master时,master上的版本变成了8.3.1。在鲍勃做了同样的事情之后-8.3.2 寻找不那么痛
- Steve首先完成了他的feature/alpha,他的pull请求被批准,当他将其合并到master时,master上的版本变成了8.3.1。在鲍勃做了同样的事情之后-8.3.2
- 创建一个预推钩子并将增量逻辑放在那里
- 为git钩子使用一个现有的maven插件,并将创建的钩子作为repo的一部分
version.txt
如下所示:
version = 8.3.0
然后你可以做如下的事情:
#/垃圾箱/垃圾箱
#
#一个示例钩子脚本,用于验证将要提交的内容。
#由没有参数的“git merge”调用。钩子应该
#向发出相应消息后,以非零状态退出
#如果要停止合并提交,则使用stderr。
#
#要启用此挂钩,请将此文件重命名为“预合并提交”。
回显“缓冲服务版本”
旧版本=$(cat VERSION.txt | grep-o“=.*”| tr-d'='))
NEW|NUM=$($(echo$OLD|VERSION | grep-o“\.[0-9]*$”| tr-d“)+1))
LAST_NUM=$(echo$OLD_VERSION | grep-o\.[0-9]*$“| tr-d”。)
新版本=$(回显$OLD版本| tr$LAST_NUM$NEW_NUM)
#如果需要,可进行更多转换以提升版本
#更多代码
# ...
sed-i的/\(^version=\)./\1'$NEW\u version'/'~/service/version/file/txt
当然,我只是在猜测它可能是什么,以及它如何能够被自动化,以碰撞您拥有的sub版本。但它绝对可以自动化,并且可以计算出如何增加一个数字,不管它是什么
注意:这个钩子不接受任何参数,所以不能向它传递版本号。NEW\u version=$(echo$OLD\u version…typo:)糟糕透了。固定的!“…并将其放在您的bitbucket服务器上”。等待你能做到吗?你有没有在bitbucket服务器上安装过自定义git钩子(除了它通过GUI支持的3个之外)?它按你想要的方式工作了吗?这可能会改变游戏规则。