选项 1:删除参考
如果要删除refs/for/master
引用,只需从远程删除它(使用以下方法之一):
git push git@github.com:company/project.git :refs/for/master
git push git@github.com:company/project.git --delete for/master
选项 2:重命名参考
这是您可以重命名它的一种方法,尽管它的工作量要大得多。首先,您需要获取refs/for/master
引用的对象。我知道如何编辑您的回购.git/config
以获取它的唯一方法。
为方便起见,假设您将git@github.com:company/project.git
远程调用添加origin
到本地存储库:
git remote add origin git@github.com:company/project.git
然后假设您fetch
在本地克隆的.git/config
文件中将配置设置为以下内容:
[remote "origin"]
url = git@github.com:company/project.git
fetch = refs/for/*:refs/remotes/origin/for/*
然后一旦你git fetch origin
,你可以将引用重命名为其他东西并再次推送它(你仍然需要删除旧的引用):
git push origin :refs/for/master origin/for/master:for/master
:refs/for/master
删除旧引用,origin/for/master:for/master
并将该引用的旧副本推送为新的远程引用for/master
。
您可以在第 9.5 章 Git Internals -免费在线 Pro Git 书籍的 Refspec中阅读有关fetch
远程 repos 的 refspec 配置的更多信息。