Lors de la suppression de la twig distante git “erreur: impossible de pousser vers une destination non qualifiée”

J’essaie de supprimer une twig distante de git avec

git push origin :my_remote_branch 

et obtenir:

 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 'git@example.com:/myrepo' 

ce sont mes twigs actuelles

 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 

Toute idée sur la façon dont je peux me débarrasser de cette twig serait appréciée.

Le fait que refs/remotes/origin/my_remote_branch existe dans votre référentiel local n’implique pas que refs/heads/my_remote_branch existe dans le référentiel distant d’ origin .

Ne git fetch -p origin pour que refs/remotes/origin/my_remote_branch disparaissent s’il est déjà supprimé à l’origine. L’option -p indique à fetch de supprimer toutes les twigs de suivi qui n’existent plus dans les télécommandes correspondantes. par défaut, ils sont conservés.

J’ai trouvé la question de nettoyer les anciennes twigs de git à distance et cela a fait l’affaire

 git branch -r -d origin/my_remote_branch 

Je suis tombé dessus en essayant de supprimer une twig distante qui avait déjà été supprimée. Tout ce qui était nécessaire était un pruneau:

 git remote prune origin 
 git branch -r -d origin/my_remote_branch 

n’était pas suffisant pour moi. Avant je devais aller au serveur et travailler directement avec le répertoire git (ce qui est dangereux et moche) pour supprimer la twig:

 ssh mygitserver su - git cd /home/git/repositories/my_remote_branch.git/ git --git-dir=. --work-tree=/tmp/ branch -D my_remote_branch 

Essayez de suivre deux options pour supprimer de force la twig distante

Option 1

 get push origin --delete  

Option 2

 git fetch -p origin git branch -r -d origin/ 

Pour moi, le problème était que c’était ma twig par défaut sur github. J’ai changé de twig par défaut, puis l’opération de suppression a réussi.

J’espère que ça aide quelqu’un

J’ai eu ce même problème, j’ai édité manuellement mon fichier ./.git/config pour inclure:

 [branch "branchName"] remote = origin merge = refs/heads/branchName 

Ce qui a abouti à: error: src refspec branchName matches more than one. Ce que j’ai corrigé en exécutant $git tag -d branchName . Après quoi j’ai pu pousser la nouvelle twig en amont.

J’ai le même problème. Tout 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 pour distinguer l’ origin/my-branch-name et my-branch-name .

Pour être précis, je devrais utiliser:

 git push origin :my_remote_branch 

au lieu de

 git push origin :origin/my_remote_branch 

Cela a au moins résolu mon problème en espérant que cela aiderait également les autres.

Cela a fonctionné pour moi: j’ai créé la twig distante sur l’interface utilisateur de github, puis j’ai poussé ma twig locale qui portait le même nom. Essayez-le au cas où d’autres moyens ne fonctionnent pas. Une autre façon serait de créer une nouvelle twig localement et de pousser une twig vide puis de choisir votre commit et de repasser sur votre télécommande.