代码之家  ›  专栏  ›  技术社区  ›  Rob Wilkerson

“克隆存储库的当前活动分支”是什么

  •  1
  • Rob Wilkerson  · 技术社区  · 15 年前

    克隆存储库并创建所有远程跟踪分支时,“克隆存储库的当前活动分支”(引用自 git-clone

    如果我是从同事的存储库中克隆,我想这应该是本地分支的跟踪分支 * 在它前面 git branch

    谢谢。

    1 回复  |  直到 15 年前
        1
  •  3
  •   Chris Johnsen    15 年前

    Git库的当前活动分支是其头指向的分支。

    在内部,HEAD只是一个位于存储库GIT\u DIR(文件名)顶部的文件 .git ref: refs/some/thing symref (符号引用)指命名的ref(通常是 refs/heads/ ref (即,它的工作原理与任何其他分支相同)。

    如你所想, git branch 将在当前活动的分支前显示一个星号。这适用于常规(非裸)和裸存储库。

    在常规的(非裸露的)存储库(有工作树的存储库)中,头部是通过正常使用 :

    git checkout other-branch
    # HEAD is now a symref to refs/heads/other-branch
    

    git签出 不起作用。要更新一个裸露的仓库的头部,你必须使用 git symbolic-ref :

    git symbolic-ref -m 'new default branch' HEAD refs/heads/other-branch
    # HEAD is now a symref to refs/heads/other-branch
    

    在这两种情况下,您都必须直接访问存储库才能更新HEAD以更改当前活动的分支。与大多数托管提供商一样,GitHub不提供对存储库的直接访问。然而,它确实提供了一个 web interface that lets users change the HEAD of their repositories (它们将其称为默认分支)。

    推荐文章