2013-09-22 57 views
0

我有一个仓库,其中master分支更名为product。事情很好,除了在这个变化之前克隆代码的一个盒子上。在那个盒子HEAD仍然指向主:Git 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

回答

3

输出的这些行:

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

说,在你的起源回购点的参考HEADorigin/master,但正如你所说的,origin/master已更名为origin/product。你需要做两两件事来纠正这一点,

  1. origin点请对product参考HEAD
  2. 更新本地克隆以使remotes/origin/HEAD指向origin/product

对于步骤#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”