J'essaye de pousser une nouvelle branche locale product-0.2
à distance où il y a déjà une balise avec le même nom (mais la branche elle-même n'existe pas)
git push -v --tags --set-upstream origin product-0.2:product-0.2
Pushing to https://****@github.com/mycompany/product.git
error: src refspec product-0.2 matches more than one.
error: failed to push some refs to 'https://****@github.com/mycompany/product.git'
Même avec:
git push origin product-0.2:/refs/heads/product-0.2
Bien que l'inverse fonctionne, par exemple créer une branche product-0.1
, valider dessus puis appliquer une balise product-0.1
.
Certaines personnes contournent ce problème en supprimant localement la balise en conflit, puis en poussant la branche, puis en récupérant la balise distante, mais cela semble fastidieux et sujet aux erreurs.
Comment puis-je créer ma branche avec un minimum de tracas?
Merci pour votre contribution
git
git-branch
youri
la source
la source
refs/heads/product-0.2:refs/heads/product-0.2
, c'est-à-dire sans la barre oblique principale, et en donnant également le refspec complet du côté local.Réponses:
La commande suivante devrait fonctionner.
la source
refs/remotes/remote_name/remote_branch
master
et ne pouvait plus pousser vers la branche du même nom.git push origin refs/heads/master
a fait l'affaire (puis j'ai supprimé cette balise pour qu'elle cesse de se produire).Vérifiez les balises associées à votre succursale:
Dans mon cas, j'avais une étiquette avec le même nom de la branche. La suppression a fonctionné:
la source
Changez les noms.
Que vous le fassiez localement ou à distance, changez simplement les noms.
Une balise et une branche sont fondamentalement la même chose dans git: elles représentent un pointeur vers un commit. La différence est qu'un pointeur de branche avance à mesure que vous effectuez des validations, tandis qu'une balise reste statique.
Cependant , vous pouvez effectuer une
git checkout
sur une branche ou une balise. Pourquoi vous battriez-vous avec tous ces noms doublés? Changez-les.la source
product-0.2.0
avec le dernier chiffre pour le `` niveau de patch '' mais quand même, nous avions la convention de dénomination en place et nous n'avons pas rencontré de problèmes dans le passé lorsque la branche a été créée avant la balise.Si vous essayez de pousser une balise qui porte le même nom qu'une branche:
la source
J'essayais de pousser vers un référentiel canonique ce matin et j'ai eu l'erreur suivante:
Cela s'est produit parce que j'avais accidentellement créé une balise principale localement:
Une fois que j'ai supprimé cette balise localement:
J'ai pu à nouveau pousser.
la source
Cela a échoué:
Bien que cela ait fonctionné pour moi:
la source
Si vous utilisez l'arborescence des sources, suivez les étapes suivantes.
Essayez à nouveau de pousser vos modifications. maintenant cela fonctionnera.
la source