L'Iran git branch -a
* master
remotes/origin/test
remotes/origin/master
Je souhaite supprimer ma branche distante
J'ai essayé
git push origin --delete remotes/origin/test
j'ai eu
erreur: impossible de supprimer 'télécommandes / origine / test': la référence distante n'existe pas
Comment n'existe-t-il pas?
J'ai fait un git branch -a
, et je l'ai vu répertorié.
Ai-je manqué quelque chose ?
git branch -a
listera les succursales de votre local et non de votre télécommande. Droite?Réponses:
La commande
git branch -a
affiche les branches distantes qui existent dans votre référentiel local . Cela peut sembler un peu déroutant, mais pour le comprendre, vous devez comprendre qu'il existe une différence entre une branche distante et une branche qui existe dans un référentiel distant. Les branches distantes sont des branches locales qui mappent vers les branches du référentiel distant. Ainsi, l'ensemble des branches distantes représente l'état du référentiel distant.La manière habituelle de mettre à jour la liste des branches distantes est d'utiliser
git fetch
. Cela obtient automatiquement une liste mise à jour des branches de la télécommande et configure les branches distantes dans le référentiel local, en récupérant également tous les objets de validation que vous pourriez manquer.Cependant, par défaut,
git fetch
ne supprime pas les branches distantes qui n'ont plus de branche homologue sur la télécommande. Pour ce faire, vous devez explicitement élaguer la liste des branches distantes:Cela supprimera automatiquement les branches distantes qui n'existent plus sur la télécommande. Ensuite,
git branch -r
vous montrera une liste mise à jour des branches qui existent vraiment sur la télécommande: Et celles que vous pouvez supprimer en utilisantgit push
.Cela étant dit, pour l'utiliser
git push --delete
, vous devez spécifier le nom de la branche sur le référentiel distant; pas le nom de votre succursale distante. Donc, pour supprimer la branchetest
(représentée par votre branche distanteorigin/test
), vous utiliseriezgit push origin --delete test
.la source
git branch -r | grep "origin"
avec les grands projets qui utilisent forkremotes/origin/
. Ou les deux.La signification de
remotes/origin/test
est que vous avez une branche appeléetest
dans le serveur distantorigin
. Donc la commande seraitla source
Il existe un raccourci pour supprimer la branche à l'origine:
git push origin :<branch_name>
Ce qui revient à faire
git push origin --delete <branch_name>
la source
la source
git push origin --delete yourBranch
la source
Étant donné que la branche distante est remote / origin / test, vous pouvez utiliser deux méthodes:
et
la source
J'ai suivi la solution par poke avec un ajustement mineur à la fin. Mes pas suivent
-
git fetch --prune
;-
git branch -a
impression de ce qui suitmaster
branch
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/branch
(branche distante à supprimer)-
git push origin --delete branch
.Ici, la branche à supprimer n'est pas nommée
remotes/origin/branch
mais simplementbranch
. Et la branche est supprimée.la source
origin/branch
quand il devrait juste êtrebranch
.git branch -a
listera les succursales de votre section locale et non les succursales de votre télécommande.Et l'erreur
error: unable to delete 'remotes/origin/test': remote ref does not exist
signifie que vous n'avez pas de branche portant ce nom dans votre télécommande, mais la branche existe dans votre local.la source
Un one-liner pratique pour supprimer les branches autres que `` master '' de l'origine:
Assurez-vous de bien comprendre les implications de cette exécution avant de le faire!
la source
Pour moi, cela a fonctionné $ ▶ git branch -D -r origin / mybranch
Détails
$ ▶ git branch -a | grep mybranch télécommandes / origin / mybranch
$ ▶ git branche -r | grep mybranch origine / mybranch
$ ▶ git branch develop * fonctionnalité / pré-déploiement
$ ▶ git push origin --delete mybranch error: impossible de supprimer 'mybranch': remote ref does not exist error: failed to push some refs to '[email protected]: config / myrepo.git'
$ ▶ git branch -D -r origin / mybranch Origine / mybranch de la branche distante supprimée (était 62c7421).
$ ▶ git branch -a | grep mybranch
$ ▶ git branche -r | grep mybranch
la source
devrait fonctionner aussi bien
la source