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

Nic*_*ard 29 versioning git version-control github

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

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

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

RDL*_*RDL 35

我建议使用标签(标签教程)

从你的主分支开始,你完成v1.0后添加一个名为的标签v1.0.

git tag -a -m "Tagging release 1.0" v1.0
Run Code Online (Sandbox Code Playgroud)

通过这种方式,您可以随时通过调用返回特定版本 git checkout [tag_name]

另一种常见做法是使用分支来处理特征,直到它们稳定为止.

git checkout -b [feature-branch]
Run Code Online (Sandbox Code Playgroud)

这会创建一个名为in in的新分支并将[feature-branch]其检出.请务必从您要开始处理该功能的位置(通常来自master)开始.

一旦稳定,他们就可以安全地融入其中master.从master运行:

git merge [feature-branch]
Run Code Online (Sandbox Code Playgroud)

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

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

  • 同意.检入1.0 build和dsym文件并添加标记.如果将来你正在使用2.0版并发现你需要发布一些更改为1.1,你总是可以从该标签创建一个banch.每次发布都不需要分支,但是每次进行临时构建时,您可能希望将主开发分支合并到单个发布分支中,因此您可以获得针对测试发布的代码与正在进行的不稳定工作的清晰历史记录. (2认同)
  • @Nic:这样想:`master`就是你今天要发布的东西.只要您标记并释放1.0(当时的主人),master就会成为您下一个版本的分支.版本1.0标记位于您的历史记录中,作为您发布的内容的提醒,并且可能是我在一分钟前描述的错误修正的分支点.如果你很幸运,它只是一个参考. (2认同)

ctc*_*rry 6

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

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

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