我正在使用git和github,我刚刚完成了iOS应用的1.0版本。 从这里,我想知道git如何才能最好地服务于我。
我真的只是在这里寻找一个最佳实践,以及其他人对管理主要版本的建议。
我应该为每个新版本创建一个新的分支,比如1.1、1.5、2.0等等? 还是我应该一直推送到主分支? 如果是这样,我该怎么做呢?
从你的主分支中,因为你已经完成了v1.0版本,所以添加了一个叫做 v1.0
.
git tag -a v1.0 -m "Tagging release 1.0"
这样你就可以在任何时候通过调用 git checkout [tag_name]
另一种常见的做法是使用分支来处理功能,直到它们稳定为止。
git checkout -b [feature-branch]
这将创建一个新的分支,命名为无论在 [feature-branch]
并对其进行检查。 请确保从您要开始使用该功能的地方(通常是从 master
).
一旦稳定下来,它们就可以安全地合并到一起。master
. 从 master
运行。
git merge [feature-branch]
这样一来,你的 master
分支始终保持在工作状态,只有完成的项目才会在准备好后被添加。 这将允许你随时保持应用程序的工作副本(最好是任何时候),以便进行测试等。
你可以为应用程序的每个版本使用分支,然而使用标签使你不能意外地合并到另一个分支版本。
就个人而言,对于大型项目,我已经采用了本文中展示的大部分方法。
http:/nvie.compostsa-successful-git-branching-model。
对我来说,它的效果非常好,现在甚至有一些库和工具来帮助你跟着方法论走。http:/jeffkreeftmeijer.com2010why-arent-you-using-git-flow。
这取决于你是否只想维护旧版本的bug修复。 如果你想在1.0中添加bug修复,同时在2.0中添加新特性,你可以创建一个2.0分支,将所有bug修复合并到两个分支中,将特性合并到2.0中。 但对于每个分支中的每个版本,你只需要一个标签。 只要记住分支 从 您打算合并到的最老分支。
您也可以使用新的 GitHub发布 机制。它是一种用GitHub管理软件版本的方式。