本文档中树和分支之间是否存在差异?

时间:2017-11-04 03:20:43

标签: git

git status sais它为您提供当前树的状态...

https://git-scm.com/docs/git-status

但我以前习惯使用

git branch -v

看看我有什么分支。

使用这些术语的文档是否可以互换? (树和树枝)?

2 个答案:

答案 0 :(得分:1)

不,这些是完全不同的。

有关术语的一系列Git定义,请参阅the gitglossary。在这里您可以找到这些定义:

  

分支

     
    A"分支"是一个积极的发展路线。 branch上的最新提交被称为该分支的提示。分支的尖端由分支头引用,分支头在分支上进行额外的开发时向前移动。单个Git repository可以跟踪任意数量的分支,但是您的工作树只与其中一个分支相关联("当前"或"已检出"分支),并且HEAD指向该分支。

[snippage]

  

     

"分支"的概念在Git中定义奇怪,就像世界上任何地方存在的大多数其他版本控制系统一样。见What exactly do we mean by "branch"?

"树"在git status文档中提到的特别是"工作树"或者"工作树"。工作树很简单:它是你工作的地方。这样做的原因是Git的文件内部存储器只能用于Git本身。为了让您的计算机上的所有其他计算机程序能够处理文件,并让您自己使用它们,您需要一个工作区,这是您的工作树& #34;或者"工作树"。

你工作树中的内容在Git中根本不是 。只有Git的内部文件在Git中。工作树文件可以以正常的,普通的,每天的计算格式存储相同的数据 - 作为一些内部Git文件,或者它们可能不存储。内部文件是版本化,这不是Git术语(并且在Git词汇表中没有提到),但意味着Git存储了您要求它存储的每个版本,或多或少永久存储,< sup> 1 以及从不一旦存储后发生变化的形式。这意味着,一旦存储到Git存储库中,您就可以每个版本的每个文件,或其他任何人 存储

1 这些版本存储在提交中,这些版本也大多是永久性且完全不可更改的。在某些情况下,你可以摆脱自己 - 即,删除一些特定的提交,但它故意很难(除了删除整个存储库,或擦除硬盘驱动器/ USB棒/任何存储介质) :但是由于Git存储库经常在整个互联网上被复制,因此在某处可能还有400多个副本。

答案 1 :(得分:0)

在 Git 2.30(2021 年第一季度)之前,术语表将分支描述为“活跃”的开发线,这是一种误导——一个陈旧且不动的分支仍然是一个分支。

参见commit eef1ceaSergey Organov (sorganov)(2020 年 11 月 23 日)。
(由 Junio C Hamano -- gitster --commit c9f1f44 合并,2020 年 12 月 14 日)

<块引用>

glossary:改进“分支”定义

签字人:Sergey Organov

<块引用>

旧的措辞至少是有问题的,如果没有错的话,因为那里有很多分支多年没有看到活跃的发展,但它们仍然是分支,随时准备再次活跃起来。

>

描述现在开始于:

<块引用>

“分支”是一条发展线。

(不再“活跃”)

它仍然与工作树不同,因为 torek explains:一个 old 陈旧的分支仍然存在,无论 当前工作树(您想要其状态的一组文件)是。