45 votes

Comment supprimer la référence git `refs/original/refs/heads/master` ?

Qu'est-ce que c'est que cette boîte ronde jaune ?

screenshot

J'ai essayé git branch -D , git tag -d mais aucun n'a réussi. Alors, comment le supprimer ?

122voto

Michel Points 5568

Cette commande devrait fonctionner

git update-ref -d refs/original/refs/heads/master

22voto

Aaron Points 3772

Il s'agit d'une référence. Normalement créé par git filter-branch - il s'agit d'un pointeur sur l'endroit où se trouvait votre branche avant que vous n'exécutiez git filter-branch .

Et pour supprimer tous ref, vous pouvez toujours ne rien lui ajouter dans le référentiel local :

git push . :refs/original/refs/heads/master

Les autres réponses couvrent également assez bien les autres moyens de suppression.

13voto

Lauren Points 1076

Alexey Ten a la meilleure réponse à cette question parce qu'il gère les branches, les balises et les références emballées. Les futurs visiteurs devraient essayer cette solution avant celle-ci.


S'il s'agit d'une balise, la commande suivante devrait fonctionner :

git tag -d refs/original/refs/heads/master

Mais puisque vous avez dit que ce n'était pas le cas, vous pouvez simplement supprimer le fichier de l'application .git . À partir de la racine du référentiel, une commande comme celle-ci l'obtiendra :

rm .git/refs/tags/refs/original/refs/heads/master

Le chemin peut être légèrement différent si le git-tag a échoué, il est donc possible que vous souhaitiez cd .git/refs et trouver la tête incriminée par tâtonnement. En supprimant le fichier, vous supprimez la référence de votre référentiel local.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X