你是对的.
我们可以通过分离"本地"和"远程"分支标签来进一步拆分您的项目1:本地分支(本地标签)是起始的名称(内部 - 许多前端命令隐藏这个)refs/heads/
,而"远程分支" - 这些是也称为"远程跟踪分支" - 启动refs/remotes/
,然后在命名分支的部分之前再命名一个特定的远程路径组件.(编辑,2018年4月:我不喜欢短语"远程分支"或"远程跟踪分支";我认为最好只调用这些远程跟踪名称.但是有很多现有文档使用其他两个短语,所以我们需要了解这种用法.)
例如,你毫无疑问熟悉refs/remotes/origin/master
,但如果你有一个遥控器,bob
你可能也有refs/remotes/bob/hacks/feep
跟踪Bob的hacks/feep
.
本地分支名称具有区别特征,默认情况下,通过将该名称写入特殊引用,将您"放在"该分支上; 而一旦你建立这样一来,新的提交(创建人,,,等)会导致新提交的SHA-1被写入到分支文件.(新提交作为其父级或其父级之一,具有旧的分支提示.)refs/heads/branch
git checkout
HEAD
git commit
git merge
git cherry-pick
我试图使用像"分支提示"之类的术语来明确表示分支名称(如refs/heads/master
分支,"分支名称"或"本地分支名称")的提交,以引用名称本身(无论是否加前缀refs/heads/
),以及 -我认为这是最不成功的 - "分支结构"来引用DAG子集.但是,给定一个带有fork-and-merge的DAG,如下所示:
o--o / \ ...-o--o o--o-... \ / o--o
我有时想将小苯环状物体中的一半或另一半称为"分支",我对此没有什么好处.
(顺便提一下,如果你是一名拓扑学家,Atlassian图也可以线性绘制的事实不会打扰你.但是,正如老笑话所说的那样,拓扑学家们不断尝试从他们的甜甜圈中喝水,并且每次吃掉他们的咖啡杯只是一个圆环.)
你是对的.
我们可以通过分离"本地"和"远程"分支标签来进一步拆分您的项目1:本地分支(本地标签)是起始的名称(内部 - 许多前端命令隐藏这个)refs/heads/
,而"远程分支" - 这些是也称为"远程跟踪分支" - 启动refs/remotes/
,然后在命名分支的部分之前再命名一个特定的远程路径组件.(编辑,2018年4月:我不喜欢短语"远程分支"或"远程跟踪分支";我认为最好只调用这些远程跟踪名称.但是有很多现有文档使用其他两个短语,所以我们需要了解这种用法.)
例如,你毫无疑问熟悉refs/remotes/origin/master
,但如果你有一个遥控器,bob
你可能也有refs/remotes/bob/hacks/feep
跟踪Bob的hacks/feep
.
本地分支名称具有区别特征,默认情况下,通过将该名称写入特殊引用,将您"放在"该分支上; 而一旦你建立这样一来,新的提交(创建人,,,等)会导致新提交的SHA-1被写入到分支文件.(新提交作为其父级或其父级之一,具有旧的分支提示.)refs/heads/branch
git checkout
HEAD
git commit
git merge
git cherry-pick
我试图使用像"分支提示"之类的术语来明确表示分支名称(如refs/heads/master
分支,"分支名称"或"本地分支名称")的提交,以引用名称本身(无论是否加前缀refs/heads/
),以及 -我认为这是最不成功的 - "分支结构"来引用DAG子集.但是,给定一个带有fork-and-merge的DAG,如下所示:
o--o / \ ...-o--o o--o-... \ / o--o
我有时想将小苯环状物体中的一半或另一半称为"分支",我对此没有什么好处.
(顺便提一下,如果你是一名拓扑学家,Atlassian图也可以线性绘制的事实不会打扰你.但是,正如老笑话所说的那样,拓扑学家们不断尝试从他们的甜甜圈中喝水,并且每次吃掉他们的咖啡杯只是一个圆环.)
在第二种情况下,我们指的是" 从分支指向的提交可以访问的提交".
在临Git的例子,假设topic
分支点提交C7
,该分支包含提交C7
,C6
,C5
,C4
,C3
,C2
,和C1
.在Git中没有其他概念提交在"分支"上,而你是正确的,你可以线性地重绘DAG.
Lynda.com的图表非常不清楚,我怀疑你是对的,这是误导性的.