GIT HEAD指向一个旧分支

时间:2013-09-22 20:50:33

标签: git

我有一个存储库,其中master分支已重命名为product。一切都很好,除了在这个改变之前克隆代码的一个盒子。在那个方框HEAD仍然指向主人:

* local-2
  remotes/origin/HEAD -> origin/master
  remotes/origin/local-1
  remotes/origin/product
  remotes/origin/local-2

这当然是不正确的,但在实际应用中,它也会导致部署脚本出现问题。重新定位remotes/origin/HEAD以使其指向remotes/origin/product

需要什么?

1 个答案:

答案 0 :(得分:3)

这些输出线:

remotes/origin/HEAD -> origin/master
remotes/origin/product

说原始回购中的引用HEAD指向origin/master,但正如您所说,origin/master已重命名为origin/product。你需要做两件事来纠正这个问题:

  1. 使HEAD上的引用origin指向product
  2. 更新本地克隆,使remotes/origin/HEAD指向origin/product
  3. 对于第1步,如果您的origin托管在GitHub上,则只需将origin的默认分支设置为product即可。如果它不在GitHub上托管,您将需要访问远程仓库,从中运行以下命令:

    git symbolic-ref HEAD refs/heads/product
    

    对于步骤2,您需要在每个本地克隆上运行以下内容以更新他们配置为远程仓库HEAD的内容:

    git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/product
    

    另见:

    1. Official Linux Kernel Git documentation for git symbolic-ref
    2. Git: Correct way to change Active Branch in a bare repository?
    3. How do I change a Git remote HEAD to point to something besides “master”