我在理解如何在git中使用 标签 和 分支 时遇到了一些困难。
我刚刚将我们代码的当前版本从cvs移动到git,现在我将针对特定功能处理该代码的子集。其他一些开发人员也将致力于此,但并非我们小组中的所有开发人员都会关心此功能。我应该创建分支还是标签?在什么情况下我应该使用一种与另一种?
一个 标签 代表一个特定分支在某一时刻的一个版本。一个 分支 代表一个单独的开发线程,它可以与同一代码库上的其他开发工作同时运行。对分支的更改最终可能会合并回另一个分支以统一它们。
通常你会 标记 一个特定的版本,以便你可以重新创建它,例如, 这是我们发给 XYZ Corp 的版本 。一个 分支 更多的是一种策略,在继续对其进行开发的同时,对特定版本的代码进行持续更新。您将创建交付版本的分支,继续在主线上进行开发,但对代表交付版本的分支进行错误修复。最终,您会将这些错误修复合并回主线。通常你会同时使用分支和标记。您将拥有各种标签,这些标签可能适用于主线及其分支,标记您可能想要重新创建的每个分支的特定版本(例如,那些交付给客户的版本)——用于交付、错误诊断等。
它实际上比这更复杂——或者像你想要的那样复杂——但这些例子应该让你了解它们之间的区别。