visual Erreur lors de la publication de la branche principale sur GitHub à partir de VS.NET




visual studio code tfs (5)

Je sais que c'est un vieux thread, mais les suivants ont fonctionné pour moi: Fusionner la branche de suivi à distance 'refs / remotes / origin / master'

Dans VS, allez à Team Explorer> Branches; Dites ensuite à VS de fusionner votre branche distante sur master.

Cela semble avoir fonctionné pour moi. Pas besoin de supprimer quoi que ce soit, pas besoin d'utiliser une console ... nous sommes VS Devs, nous n'aimons pas les consoles ... et pas besoin de téléchargements tiers (même si certains sont agréables à avoir et faciles à télécharger) utilisation.)

J'utilise VS.NET 2013 avec les outils Git intégrés et j'essaie de publier ma branche principale dans un référentiel existant que j'ai configuré sur GitHub. J'utilise les outils VS.NET dans l'EDI exclusivement et je voudrais s'il vous plaît, des réponses à suivre en utilisant ces outils si possible, par opposition à une ligne de commande.

Toutes mes modifications ont été validées localement et je dois simplement publier la branche sur GitHub. Cependant, lorsque j'essaie de publier ma branche master locale, l'erreur suivante s'affiche:

Vous ne pouvez pas publier le maître de succursale local sur l'origine du référentiel distant car une branche portant le même nom existe déjà. Vous voudrez peut-être renommer votre succursale locale et réessayer.

Je sais qu'il y a un long article à ce sujet here , mais j'essaye de remédier à cela depuis VS.NET ou directement en ligne sur GutHub si possible. Au mieux, je veux mieux comprendre le problème.

Je suis presque sûr que ce problème a été causé par la sélection de l'option Initialize this repository with a README sélection Initialize this repository with a README sur GitHub au lieu de créer un référentiel vide vers lequel mes modifications locales pourraient être transférées. Je pense que GutHub a déjà utilisé le même nom de branche et que cela crée un conflit.

Je suppose que je pourrais supprimer le dépôt sur GitHub et recommencer à zéro, mais j'espérais que ce soit à partir de VS.NET ou de GitHub. Est-ce que quelqu'un sait comment je peux le faire pour que ma branche principale puisse être publiée avec succès?


VS 2013 initialisera le référentiel GIT lorsque votre première validation sera synchronisée. La solution simple consiste donc à supprimer le référentiel GIT et à le recréer sans option d'initialisation.


Il y a un correctif pour ceci:

Accédez à votre invite de commande et accédez au répertoire de votre solution. De là, vous devriez être capable de lancer des commandes git. Vous devrez peut-être installer git si vous n'avez pas déjà exécuté "git pull origin master". Cela devrait fusionner votre repo GitHub avec votre repo local. C'est tout ce que nous devons faire depuis l'invite de commande. Revenons maintenant à Visual Studio

Vous pouvez avoir des conflits si vous le faites, vous devrez les résoudre et vous reconnecter localement. Visual Studio vous indiquera s'il y a des conflits. Une fois les conflits résolus, cliquez sur le lien "master" situé en haut du volet. Il devrait vous donner un menu déroulant avec un élément appelé «gérer les branches». Cliquez dessus. Vous devriez voir une branche appelée «master» sous le titre «Branches non publiées». Cliquez avec le bouton droit sur master et cliquez sur «Publish Branch». Vous pouvez maintenant cliquer sur le lien «changements non synchronisés» et vous verrez que le bouton «Sync» est plus grisé Cliquez sur Sync et vous avez terminé!

Source et crédit: http://zanemayo.com/using_git_and_github_with_visual_studio.html


Comme je venais de créer le référentiel et qu'il n'y avait pas d'utilisateurs, la solution consistait à supprimer le référentiel de Github (sous le menu «Paramètres») et à le créer à nouveau (une fois supprimé, je pourrais utiliser le même nom). L'astuce consiste à ne pas initialiser le dépôt à partir de GitHub - autorisez VS.NET à le faire lors de la 1ère synchronisation. Maintenant, cela fonctionne à merveille de VS.NET.

Si je n'avais pas supprimé le référentiel, j'aurais dû utiliser des outils externes pour renommer le référentiel local ou utiliser la synchronisation depuis un autre outil (comme TortoiseGit) qui permet de forcer le remplacement de la branche à la synchronisation. Il ne semblait pas qu'il y ait quelque chose de natif à VS.NET qui permettrait cela.


J'ai rencontré ce problème dans Visual Studio 2015 et voici comment je l'ai résolu.

  1. Connectez-vous à votre dépôt git local
  2. Branche ouverte
  3. Clic droit sur la branche master
  4. Sélectionnez Invite de commandes ouverte
  5. Exécutez git pull origin master (Cette commande extraira les modifications de la branche d'origine distante et les fusionnera avec la branche extraite locale).
  6. Publiez votre référentiel.




visual-studio-2013