我正在使用git和github,我刚刚完成了iOS应用程序的1.0版本。从这里开始,我想知道git如何最好地为我服务。
我真的只是想在这里寻找最佳实践,以及其他人推荐用于管理主要版本的内容。
我应该为每个新版本创建一个新分支,例如1.1,1.5,2.0等?或者我应该继续推向主分支?如果是这样,我该怎么做?
答案 0 :(得分:32)
我建议使用tags(tag 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管理软件版本的方法。