我是Git的新手。
Git遵循非线性DAG模型。因此,许多工作路径上可能有许多节点。当我克隆如下的远程git仓库时:
git clone https://xxx.git
DAG中的哪个节点可以作为我的本地工作树检出?
我认为它应该是某种最新的节点。但是,由于DAG模型可以有许多分支,每个分支指向某个开发路径的尖端,克隆时我会得到哪一个?服务器上的HEAD符号指针?如果是这样,谁决定HEAD?
答案 0 :(得分:4)
如果是这样,谁决定HEAD?
请参阅" Change a Git remote HEAD to point to something besides master"
默认情况下,HEAD(在远程仓库一侧)引用master
,但是一些git repo托管服务(GitHub,GitLab,BitBucket)建议更改默认分支。
这有效地改变了HEAD的symbolic-ref,如git symbolic-ref
:
git symbolic-ref HEAD refs/head/anotherBranch
如果您指向默认分支(在远程仓库上),然后删除该分支,则该远程仓库的任何克隆都将失败并进行投诉。