Option 1: Supprimer la référence
Si vous souhaitez supprimer la référence refs/for/master
, il vous suffit de la supprimer à distance (en utilisant l'une des méthodes suivantes) :
git push git@github.com:company/project.git :refs/for/master
git push git@github.com:company/project.git --delete for/master
Option 2: Renommer la référence
Voici une façon de la renommer, même si cela représente significativement plus de travail. Tout d'abord, vous devrez récupérer l'objet auquel la référence refs/for/master
se rapporte. La seule manière que je connaisse est de modifier le fichier .git/config
de votre dépôt pour le récupérer.
Pour plus de facilité, imaginons que vous ajoutiez git@github.com:company/project.git
comme un dépôt distant appelé origin
à votre dépôt local :
git remote add origin git@github.com:company/project.git
Ensuite, supposons que vous configurez votre configuration de fetch
dans le fichier .git/config
de votre clone local comme suit :
[remote "origin"]
url = git@github.com:company/project.git
fetch = refs/for/*:refs/remotes/origin/for/*
Ensuite, une fois que vous avez fait un git fetch origin
, vous pouvez renommer la référence en quelque chose d'autre et la repousser (vous devrez néanmoins supprimer l'ancienne référence) :
git push origin :refs/for/master origin/for/master:for/master
:refs/for/master
supprime l'ancienne référence, et origin/for/master:for/master
pousse la copie ancienne de cette référence en tant que nouvelle référence distante for/master
.
Vous pouvez en apprendre davantage sur la configuration du refspec de fetch
pour les dépôts distants dans le chapitre 9.5 Git Internals - The Refspec du GRATUIT livre en ligne Pro Git.