我有一些困难理解如何使用标签与分支在git。
我只是将当前版本的代码从cvs移到git,现在我将针对特定的特性处理该代码的一个子集。其他一些开发人员也将致力于此,但并不是我们团队中的所有开发人员都会关心此功能。我应该创建一个分支还是一个标签?在什么情况下我应该使用其中一种而不是另一种?
我有一些困难理解如何使用标签与分支在git。
我只是将当前版本的代码从cvs移到git,现在我将针对特定的特性处理该代码的一个子集。其他一些开发人员也将致力于此,但并不是我们团队中的所有开发人员都会关心此功能。我应该创建一个分支还是一个标签?在什么情况下我应该使用其中一种而不是另一种?
当前回答
最好的解释似乎是标签充当只读分支。您可以使用分支作为标记,但您可能会无意中使用新的提交更新它。只要标签存在,它们就保证指向相同的提交。
其他回答
我们使用
开发环境中的分支用于特性开发或错误修复 功能分支上测试环境的轻量级标记 release/prd的注释标记(主要分支)
在每个带注释的标签之后,所有的特征分支都从主分支中重新建立基础。
正如其他人所说,分支是一条开发线,随着更新提交的到来,头部会向前移动。这是功能开发的理想选择。
轻量级标签固定于特定的提交,这使得创建内部版本并让qa团队在开发完成后测试功能成为理想的选择。
注释标记非常适合从发布到生产,因为我们可以在将测试的特性分支合并到主分支(稳定)时添加正式的消息和其他注释。
最好的解释似乎是标签充当只读分支。您可以使用分支作为标记,但您可能会无意中使用新的提交更新它。只要标签存在,它们就保证指向相同的提交。
简单:
标签总是指向项目的同一个版本,而头部则随着开发的进展而变化。
Git用户手册
github上的Neovim:
V0.3是一个分支
v0.3.1……v0.3.4……是标签
Nightly和stable是标记,而不是分支
我喜欢把分支看作你要去的地方,标签看作你去过的地方。
标记就像过去某个特定重要点的书签,比如版本发布。
而分支是项目前进的特定路径,因此分支标记会随着您一起前进。当你完成时,你合并/删除分支(即标记)。当然,在这一点上,您可以选择标记该提交。