Veuillez envisager de remplacer la réponse acceptée par la réponse d' Alexey Ten, qui est très appréciée et correcte ( git update-ref -d).
Jonathon Reinhart
Réponses:
11
Il ressemble à une balise, donc la commande suivante devrait fonctionner:
git tag -d refs/original/refs/heads/master
Mais comme vous ne l'avez pas dit, vous pouvez simplement supprimer le fichier du .gitrépertoire. Depuis 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 en cas d' git-tagéchec de la commande, vous pouvez donc vouloir cd .git/refsrechercher la tête incriminée par essais et erreurs. La suppression du fichier supprimera la référence de votre référentiel local.
Cela a fonctionné pour moi avec le même problème. Notez que la référence a été stockée dans un fichier appelé .git / packed-refs. Si vous l'ouvrez, vous pouvez voir la ligne avec le SHA et la chaîne "refs / original / refs / heads / master". Vous pourriez probablement supprimer cette ligne, mais j'utiliserais cette commande pour être sûr.
Matt N
14
+1: Vous devez toujours utiliser git update-ref -dau lieu de simplement rmfaire référence - de mauvaises choses peuvent se produire autrement.
Callum Rogers du
3
Cela devrait être la réponse acceptée
Daniel Alder
1
@CallumRogers pourquoi?
wahnfrieden
6
@wahnfrieden car git pourrait utiliser des refs compressés et il n'y aura pas de fichier correspondant dans le refsrépertoire
Alexey Ten
17
Ceci est une réf. Normalement créé par git filter-branch- c'est un pointeur vers l'endroit où se trouvait votre branche avant de s'exécuter git filter-branch.
Et pour supprimer toute référence, vous ne pouvez toujours rien y pousser dans le référentiel local:
git push . :refs/original/refs/heads/master
Les autres réponses couvraient également assez bien d'autres façons de supprimer.
git update-ref -d
).Réponses:
Il ressemble à une balise, donc la commande suivante devrait fonctionner:
Mais comme vous ne l'avez pas dit, vous pouvez simplement supprimer le fichier du
.git
répertoire. Depuis la racine du référentiel, une commande comme celle-ci l'obtiendra:Le chemin peut être légèrement différent en cas d'
git-tag
échec de la commande, vous pouvez donc vouloircd .git/refs
rechercher la tête incriminée par essais et erreurs. La suppression du fichier supprimera la référence de votre référentiel local.la source
.git/refs/original/refs/heads/master
.git update-ref
plutôt que de muter manuellement les internes de Git. Voir la réponse d'Alexey.Cette commande devrait fonctionner
la source
git update-ref -d
au lieu de simplementrm
faire référence - de mauvaises choses peuvent se produire autrement.refs
répertoireCeci est une réf. Normalement créé par
git filter-branch
- c'est un pointeur vers l'endroit où se trouvait votre branche avant de s'exécutergit filter-branch
.Et pour supprimer toute référence, vous ne pouvez toujours rien y pousser dans le référentiel local:
Les autres réponses couvraient également assez bien d'autres façons de supprimer.
la source