Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么是git主题分支?_Git_Version Control_Branch - Fatal编程技术网

什么是git主题分支?

什么是git主题分支?,git,version-control,branch,Git,Version Control,Branch,什么是git主题分支?它与普通的分支有什么不同吗?有没有不是主题分支的分支?这不是一个技术术语;它只是指为实现特定功能或修复bug而创建的分支。“主题”本质上是创建分支的原因。主题分支通常是您在本地创建的轻量级分支,其名称对您有意义。它们是您可能需要花费一些时间来完成的bug修复或功能(也称为功能分支)工作的地方 另一种类型的分支是“远程分支”或“远程跟踪分支”。这种类型的分支遵循其他人的工作开发,并存储在您自己的存储库中。您可以定期更新此分支(使用git fetch),以跟踪其他地方发生的情况

什么是git主题分支?它与普通的分支有什么不同吗?有没有不是主题分支的分支?

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

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

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

我还看到了另一种分支,它本质上是同一存储库中完全独立的文件树。例如,包含名为的标头,这些标头包含与分支完全不同的内容。我不知道这些类型的分支通常叫什么

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

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

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

这是让我很难学习Git的原因之一。奥利弗·斯蒂尔(Oliver Steele)从用户的角度对此进行了解释,并写了一些文章。

很好地解释了这一点:

“主题”分支是在处理单个“主题”(bug修复、新功能或实验想法)时使用的独立分支。建议在主题分支上工作,而不是直接在“master”上工作,因为:

{…访问链接…}

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


此示例还提供了示例。这实际上让我想到,这可能是大多数商店已经在做的事情。我参与过的所有敏捷项目都是这样做的。我投票赞成“这不是一个技术术语”,因为我觉得这一针见血。

是的。与个人分支相反,你有分支:bob、alice、mat等等……所以主题分支和功能分支是一样的,对吗?@Betlista或多或少,是的。我想这是功能分支的一个更通用的术语。“feature”分支可以是一个特性,或者是一个错误修复,或者是一个实验,或者是其他什么。我猜这是为了给以前称为“featurebranchs”的任意分支引入一个新名称,它实际上可能不是一个“feature”,以避免混淆。然而,很明显,这造成了一些混乱!我在寻找如何在没有共同祖先提交的情况下拥有两个分支,并发现了以下内容:W.r.t.分离树,我相信它们有时被称为孤立分支,类似于Github向您推荐的方式。为什么您说主题分支必须是本地分支?没有理由认为您可能不想推动主题分支。同样,其他开发人员可能会创建自己的主题分支,而您可能希望将它们拉出来。这个答案似乎混淆了分支的两个完全不相关的属性:分支是否为本地分支与它是否为主题分支根本不相关。@Jean-PaulCalderone:我想我没有说过主题分支必须是本地分支。当然,如果有多个开发人员在做某个主题分支,您可以远程跟踪它。我认为答案暗示了这一点。为什么“…您在本地创建的…”和“…有一个对您有意义的名称”是构成“主题分支”的固有部分?你回答的第一句话强烈地表明,这些是主题分支的重要特征,但它们实际上都与分支的“主题性”正交。下面描述“远程分支”的段落强调了主题分支的“本地创建”部分很重要的思想。我建议重新关注这个答案,以淡化这些不相关的分支特征。