什么是 Git 主题分支?

什么是 Git 主题分支?它在某些方面与普通的分支有什么不同吗?有没有不是主题分支的分支?

45388 次浏览

它不是一个技术术语; 它只是指一个分支,这个分支是为了实现一个特定的特性或者修复一个 bug 而创建的。本质上,“主题”是创建分支的原因。

主题分支通常是在本地创建的轻量级分支,其名称对 有意义。它们是您可能需要花费一些时间来完成的 bug 修复或特性(也称为特性分支)的工作位置。

另一种类型的分支是“远程分支”或“远程跟踪分支”。这种类型的分支遵循某人 别人的工作的开发,并存储在您自己的存储库中。您定期更新这个分支(使用 git fetch)以跟踪其他地方发生的情况。当您准备好赶上其他人的更改时,可以使用 git pull来获取和合并。

我还看到了另一种分支,它本质上是同一存储库中完全独立的文件树。例如,Git 存储库本身包含名为 伙计Html的头,它们包含与 师父分支完全不同的内容。我不知道这种树枝通常叫什么。

看起来最突出和最重要的类型的分支不是主题分支,而是在一个主要的、公共可用的存储库上的发布分支,对吗?

这可能对您来说是正确的,但这是关于您和您正在考虑的项目; 它不是由 Git 决定的。

大多数版本控制系统(特别是集中的版本控制系统)规定或实施特定的工作流,包括使用分支的意义。Git (以及在某种程度上大多数分布式 VCS)认为,工作流、使用哪些分支、何时提交、使用哪些不同的回购协议等等都是由用户和用户之间的协议(策略)选择的。所以 Git 在技术上并没有强制执行这些。

这就是 Git 让我很难学习的原因之一。Oliver Steele 在关于 承诺政策的文章中从用户的角度解释了这一点。