在 GitHub 上管理发布版本

9

如何在Github上处理软件发布是一个好的方法。我的repo https://github.com/wheresrhys/jQuery-flickbook 包含所有的源代码和构建文件,以及JavaScript的构建(缩小)版本。

但是,一旦我推出下一个版本发布,我也希望将例如jquery.flickbook-0.5.min.js文件包含在发布目录中。在多大程度上可以自动化此过程(使用ant和git分支和标签),或者这是我必须手动执行的操作?

1个回答

14
这是我会做的方法(注意:假设master是您的“参考”分支):
  • 当您准备发布新版本时,在master上创建分支x.y-release并检出 (git checkout -b x.y-release master);
  • 添加您的缩小版本,提交;
  • 创建标签x.y (git tag x.y--您需要查看手册,您也可以创建“标记对象”);
  • 推送标签(而不是分支)(git push theremote --tags,甚至git push theremote x.y);
  • 完成后,切换回master (git checkout master);
  • 如果需要,本地删除发布分支 (git branch -D x.y-release)。
这意味着缩小版本永远不会进入master,但最终会成为标签的一部分,这意味着所有内容都在那里,因为标签就像任何分支一样是一个refspec。

自从发布这个问题以来,我发现了这篇文章http://nvie.com/posts/a-successful-git-branching-model/,看起来不错,但对于一个只有一个开发人员的简单插件来说,可能有点过度设计。设置一个develop分支是个好主意吗?你的版本控制方法能够适应它吗? - wheresrhys
你是否需要开发分支完全取决于你自己。如果您想测试一个或多个功能,这很有用。无论如何,您可能需要一个“参考”分支,在其中合并其他分支,但是无论如何,我提供的技巧都可以奏效。 - fge
太好了 - 完美地运行了。不过我花了很长时间才让它正常工作,因为GIT不允许我在主分支中提交空的发布文件夹,但最终我想到了应该放一个.gitignore文件。 - wheresrhys
我喜欢这个想法。也许将来可以用于创建安装程序MSI文件,而这些文件不需要包含在实际的版本控制系统中。谢谢! - AnneTheAgile

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接