因为我采用了敏捷开发方法,所以我发现自己更频繁地发布源代码。这也涉及更多重复的任务,手工完成不会导致......“敏捷”。
我确实有2个永久分支:master(稳定软件),develop(开发版),以及每个功能的所有其他分支,将在开发中合并。
更具体地说,发布过程(develop-> master)涉及以下步骤(假设我们发布的是1.0.5版本):
首先,我创建了一个新的分支,在那里我可以进行一些特定于发布的特定
git checkout -b release1.0.5 develop
然后(在这种情况下)我编辑修订版局部视图 - 在rails app-(用于在应用程序页脚上显示rev#)
vim app/views/layouts/_revision.html.haml
然后我在release1.0.5
上提交更改(通常包含“updated rev#”消息),checkout master
,git merge --no-ff release1.0.5
,git tag v1.0.5
,将源代码上传到制作中,{{ 1}},git checkout develop
,最后是git merge --no-ff release1.0.5
。
每天完成3/4次这可能非常繁琐(可能是为了修复仅在生产服务器上识别的错误)。当然,有一个像“make-release”这样的命令可以自动完成所有这些操作,也许可以将版本号作为参数。
我已经阅读过自定义git命令了,但是你知道,这是项目特定的(在另一个项目中我不需要执行这样的操作),所以将命令与当前存储库相关将是很好的,避免提出大量的命令,一个用于全球共享的每个项目。有办法吗?