如何预先挂钩gitflow hotfix完成?

时间:2016-05-07 03:22:34

标签: git hook commit flow pre-commit

我认为我正在使用“https://github.com/nvie/gitflow”,如果这是Smartgit GUI程序中的那个。

每次我提交一些东西,我都会更新'build'号码。示例:2.6.0-77至2.6.0-78

这已经实现了钩子预提交和增加内部版本号,但是如何创建钩子来挂钩gitflow修补程序完成并增加修补程序版本号?示例:2.6.0-70至2.6.1-70

增加修补程序版本的代码已经完成。我们只需要运行: githooks/updateVersion.sh patch

然后,我们在项目中获得了2.6.0-70到2.6.1-70。此代码在此处实现:https://github.com/evandrocoan/.versioning

在那里,实现了预提交,提交后挂钩。

如果无法完成,我们可以在预提交挂钩上执行此操作吗?我们只需要知道什么时候提交普通的东西,以及当我们提交gitflow完成修补程序时。

1 个答案:

答案 0 :(得分:0)

我还可以考虑阅读提交消息,然后确定是否存在 是正常提交​​(./githooks/updateVersion.sh构建),或修补程序(./githooks/updateVersion.sh修补程序)。

我的意思是,在项目上创建一个模式,并且只在完成修补程序时使用该关键字,这将由预提交钩子获得。总之,在“完成修补程序”字样中启动完成修补程序。

然后,同样可以应用于次要版本和主要版本,然后我们可以随时自动更新软件版本。

观测值

这假定版本是“Major.Minor.Patch-Build”,其中build是提交计数器,每次开发分支提交都会递增。

但这是一个错误的分支模型,我们不能将事情提交到开发分支,我们必须创建功能分支。 我们总是增加补丁号,每个修补程序版本。但是不要触摸内部版本号。 然后我们应该增加构建号,每个功能完成。 并且每个Release Start都会增加Major或Minor数字,具体取决于主要功能或次要功能的发布。

但这会导致问题。如果我们创建功能A,B和C.完成功能A,然后增加内部版本号,但是,当我们完成功能B或C时,是否会因为他们的内部版本号已过时而产生冲突。

解决方案是在每个功能完成之前集成开发,我们可以在集成时获得正确的构建号,然后避免冲突。