Lors de la suppression à distance git branch “erreur: impossible de pousser à non qualifiés de destination”
J'essaie de supprimer une distance git branch avec
git push origin :my_remote_branch
et arriver:
error: unable to push to unqualified destination: my_remote_branch
The destination refspec neither matches an existing ref on the remote nor
begins with refs/, and we are unable to guess a prefix based on the source ref.
error: failed to push some refs to '[email protected]:/myrepo'
ce sont mes branches
git branch -a
* develop
master
remotes/origin/HEAD -> origin/master
remotes/origin/develop
remotes/origin/my_remote_branch
git branch -r --merged
origin/HEAD -> origin/master
origin/develop
origin/master
Des idées sur comment je peux me débarrasser de cette branche serait appréciée.
- Avez-vous essayé un
git fetch
pour voir si elle est fixée dans la non-existant nom à distance? Avez-vous essayé d'aller dans votre.git\refs\remotes\origin
et supprimer lesmy_remote_branch
fichier, pour voir si c'est suffisant? - ne
git fetch
mais cela n'a pas aidé. Va essayer de rechercher une plus simple solution avant d'essayer de supprimer manuellement le fichier. - essayez de supprimer ou au moins de déplacer ce fichier: il ne contient que le SHA1 de l'extrémité de la branche.
- Vous devez faire
git fetch -p
pour se débarrasser de gelée de suivi des branches.
Vous devez vous connecter pour publier un commentaire.
Le fait que
refs/remotes/origin/my_remote_branch
existe dans votre référentiel local n'implique pasrefs/heads/my_remote_branch
existe dans leorigin
dépôt distant.Ne
git fetch -p origin
de fairerefs/remotes/origin/my_remote_branch
aller loin si elle est déjà supprimé à l'origine. Le-p
option indique à chercher à supprimer tout le suivi des branches qui n'existent plus dans les télécommandes; par défaut, ils sont conservés.git fetch -p origin
fixe pour moi. Merci beaucoup.git push origin --delete origin/feature/x
m'a donné une erreur à propos de la non-existence refgit push origin :feature/x
n'a supprimer de la direction générale. Donc je suppose quegit push origin --delete <branchName>
ne devrait pas inclure d'origine dans le branchName (?) mais il est bash-terminé, ce qui est source de confusion.git push origin --delete feature/x
, parce que vous donnez le nom de la branche origine, et il n' pas ont du préfixe là (les deux formes sont par ailleurs synonyme de toute façon).:
de ne pas inclureorigin
mais il se termine commeorigin/branch_name
au lieu de simplementbranch_name
lors de l'utilisation de la--delete
variante.Trouvé question le nettoyage de la vieille distance branches git et cela a fait le tour
git push origin :my_remote_branch
supprime la branche à partir de la télécommande etgit branch -r -d origin/my_remote_branch
le supprime de ma liste locale des branches distantesJ'ai couru à travers ce lorsque vous essayez de supprimer une branche distante qui avait déjà été supprimé. Tout ce qui était nécessaire était un pruneau:
Essayer une des deux options suivantes pour supprimer à distance direction de la force
Option 1
Option 2
n'était pas assez pour moi. Avant je devais aller à un serveur et de travailler avec répertoire git directement (ce qui est dangereux et moche) pour supprimer la branche:
git push origin :my_remote_branch
. L'esprit du côlon.git push origin :my_remote_branch
est de façon normale. Ce vilain et dangereux, c'est quand cela ne fonctionne pas (par exemple due à un mal configuré git).J'ai le même problème.
D'abord allé à cette discussion, mais je ne pouvais pas résoudre le problème jusqu'à ce que j'ai vu https://stackoverflow.com/a/32147743/4209849.
qui ajoute simplement une astuce sur la distinction
origin/my-branch-name
etmy-branch-name
.Pour être plus précis, je devrais utiliser:
au lieu de
Cela a résolu mon problème au moins, espérer qu'il allait aider les autres.
Pour moi, le problème, c'est que c'était ma branche par défaut sur github. J'ai changé de branche par défaut, puis supprimer l'opération a réussi.
Espère que cela aide à quelqu'un
Eu ce même problème, j'ai édité mon
./.git/config
fichier à inclure:Qui a résulté en:
error: src refspec branchName matches more than one.
Ce que je le fixe en exécutant$git tag -d branchName
.Après quoi j'ai été en mesure de pousser à la nouvelle direction de l'amont.
Cela a fonctionné pour moi:
J'ai créé la branche distante sur github l'INTERFACE utilisateur, puis poussé mon agence locale qui avait le même nom. L'essayer dans le cas où d'autres moyens ne fonctionnent pas.
Autre moyen serait de créer une nouvelle branche en local et en poussant un vide de la branche et, plus tard, cherry-pick de votre livraison et d'appuyer de nouveau sur votre télécommande.