如何在git中删除指向分支的远程符号链接?
我有如下吉特回购协议:如何在git中删除指向分支的远程符号链接?,git,symlink,Git,Symlink,我有如下吉特回购协议: $ git branch -a * master remotes/m/branch_a -> origin/master remotes/origin/master 我想在不删除master的情况下删除指向master的远程符号链接。我试过: $ git remote -v prune --dry-run 这没用。有什么建议吗?它不是一个真正的“符号链接”(不是因为git增加了对Windows的支持),它是一个“符号参考”(尽管这相当于一件事) 远程设备
$ git branch -a
* master
remotes/m/branch_a -> origin/master
remotes/origin/master
我想在不删除master的情况下删除指向master的远程符号链接。我试过:
$ git remote -v prune --dry-run
这没用。有什么建议吗?它不是一个真正的“符号链接”(不是因为git增加了对Windows的支持),它是一个“符号参考”(尽管这相当于一件事)
远程设备的名称是在remotes/
之后出现的任何名称,因此在本例中,远程设备的名称为m
如果符号引用存在于存储库中,并且使用--prune
(在git fetch m
或git remote update m
上)不会放弃它,则表示它(仍然)存在于远程m
上。即使您手动删除它,当您从远程设备获取最新信息时,它也会返回
因此,解决方法是在远程删除它(然后再次运行git fetch-pm
)
如果remotem
已不存在(或从未存在过),并且此符号引用是您所做的一些奇怪的事情(或一些奇怪的错误)留下的,您可以简单地将其删除:
git update-ref -d refs/remotes/m/branch_a