オプション 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: 参照の名前を変更する
これは名前を変更する 1 つの方法ですが、かなり手間がかかります。まず、参照するオブジェクトをフェッチする必要があります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
。
fetch
リモート リポジトリの refspec 設定の詳細については、無料のオンライン Pro Git ブックの 9.5 Git Internals - The Refspecを参照してください。