什么是git主题分支?

时间:2008-11-12 16:32:35

标签: git version-control branch

什么是git主题分支?它在某种程度上与普通分支不同吗?是否有任何分支不是主题分支?

4 个答案:

答案 0 :(得分:100)

主题分支通常是您在本地创建的轻量分支,其名称对有意义。他们可能会为错误修复或功能(它们也称为功能分支)工作,预计需要一些时间才能完成。

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

我还看到了另一种分支,它本质上是同一个存储库中完全独立的文件树。例如,Git repository itself包含名为manhtml的标题,其中包含与master分支完全不同的内容。我不知道这些类型的分支通常被称为。

答案 1 :(得分:75)

这不是技术术语;它只是指为实现特定功能或修复错误而创建的分支。 “主题”是创建分支的原因。本质上。

答案 2 :(得分:25)

https://github.com/dchelimsky/rspec/wiki/Topic-Branches很好地解释了这一点。

“主题”分支是您在处理单个“主题”(错误修复,新功能或实验性创意)时使用的单独分支。建议使用主题分支而不是直接在“master”之上,因为:

{...访问链接...}

因此,出于所有这些原因,建议使用主题分支来准备提交,即使对于单一提交错误修正等简单的贡献也是如此。

此示例还给出了示例。这实际上让我思考,这可能是大多数商店已经做的。我曾经去过的所有敏捷项目都是这样做的。我赞成“这不是一个技术术语”,因为我觉得这会触及头部。

答案 3 :(得分:4)

  

看起来非主流分支的最突出和最重要的分支类型是在主要的公共可用存储库上发布分支,对吧?

这可能适合你,但这是关于你和你正在考虑的项目;它不是由Git决定的。

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

这是让Git难以学习的事情之一。 Oliver Steele从用户的角度解释了这一点,写了Commit Policies