什么是 Git 主题分支?它在某些方面与普通的分支有什么不同吗?有没有不是主题分支的分支?
它不是一个技术术语; 它只是指一个分支,这个分支是为了实现一个特定的特性或者修复一个 bug 而创建的。本质上,“主题”是创建分支的原因。
主题分支通常是在本地创建的轻量级分支,其名称对 你有意义。它们是您可能需要花费一些时间来完成的 bug 修复或特性(也称为特性分支)的工作位置。
另一种类型的分支是“远程分支”或“远程跟踪分支”。这种类型的分支遵循某人 别人的工作的开发,并存储在您自己的存储库中。您定期更新这个分支(使用 git fetch)以跟踪其他地方发生的情况。当您准备好赶上其他人的更改时,可以使用 git pull来获取和合并。
git fetch
git pull
我还看到了另一种分支,它本质上是同一存储库中完全独立的文件树。例如,Git 存储库本身包含名为 伙计和 Html的头,它们包含与 师父分支完全不同的内容。我不知道这种树枝通常叫什么。
看起来最突出和最重要的类型的分支不是主题分支,而是在一个主要的、公共可用的存储库上的发布分支,对吗?
这可能对您来说是正确的,但这是关于您和您正在考虑的项目; 它不是由 Git 决定的。
大多数版本控制系统(特别是集中的版本控制系统)规定或实施特定的工作流,包括使用分支的意义。Git (以及在某种程度上大多数分布式 VCS)认为,工作流、使用哪些分支、何时提交、使用哪些不同的回购协议等等都是由用户和用户之间的协议(策略)选择的。所以 Git 在技术上并没有强制执行这些。
这就是 Git 让我很难学习的原因之一。Oliver Steele 在关于 承诺政策的文章中从用户的角度解释了这一点。
Https://github.com/dchelimsky/rspec/wiki/topic-branches 很好地解释了这一点:
“主题”分支是在处理单个“主题”(bug 修复、新特性或实验想法)时使用的单独分支。建议使用主题分支,而不是直接在“ master”之上,因为: { ... 访问链接... } 因此,出于所有这些原因,建议使用主题分支来准备提交,即使是针对单提交 bug 修复等简单贡献。
“主题”分支是在处理单个“主题”(bug 修复、新特性或实验想法)时使用的单独分支。建议使用主题分支,而不是直接在“ master”之上,因为:
{ ... 访问链接... }
因此,出于所有这些原因,建议使用主题分支来准备提交,即使是针对单提交 bug 修复等简单贡献。
此示例还提供了一些示例。这让我开始思考,这可能是大多数商店已经在做的事情。我参与过的所有敏捷项目都是这样做的。我反对“这不是一个专业术语”,因为我觉得这个说法一针见血。