Git:管理我的应用程序的每个版本?

时间:2011-03-23 03:08:44

标签: git version-control github versioning

我正在使用git和github,我刚刚完成了iOS应用程序的1.0版本。从这里开始,我想知道git如何最好地为我服务。

我真的只是想在这里寻找最佳实践,以及其他人推荐用于管理主要版本的内容。

我应该为每个新版本创建一个新分支,例如1.1,1.5,2.0等?或者我应该继续推向主分支?如果是这样,我该怎么做?

4 个答案:

答案 0 :(得分:32)

我建议使用tagstag tutorial

完成v1.0后,从主分支添加名为v1.0的标记。

git tag -a -m "Tagging release 1.0" v1.0

通过调用git checkout [tag_name]

,您可以随时返回特定版本

另一种常见做法是使用分支处理功能,直到它们稳定为止。

git checkout -b [feature-branch]

创建一个名为[feature-branch]中的任何内容的新分支并将其检出。请务必从您要开始处理该功能的位置开始执行此操作(通常来自master)。

一旦稳定,他们就可以安全地合并到master。从master运行:

git merge [feature-branch]

这样,您的master分支始终处于工作状态,只有在准备好后才会添加已完成的项目。这将允许您随时(最好是无论如何)保留应用程序的工作副本以进行测试等。

您可以为应用程序的每个版本使用分支,但是使用标记会使它无法合并到另一个分支版本中。

答案 1 :(得分:6)

就个人而言,对于大型项目,我采用了本文中显示的大部分方法:

http://nvie.com/posts/a-successful-git-branching-model/

它对我来说非常好,现在甚至还有一些图书馆和工具可以帮助您跟上方法:http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/

答案 2 :(得分:2)

这取决于您是否只想维护带有错误修复的旧版本。如果要在向2.0添加新功能时向1.0添加错误修复,则创建2.0分支,将所有错误修复合并到两个分支中,并将功能合并到2.0中。但是对于每个分支中的每个版本,您只需要一个标记。请记住将分支到您打算合并回来的最旧的分支。

答案 3 :(得分:2)

您还可以使用新的GitHub releases机制。这是一种使用GitHub管理软件版本的方法。