Erreur de publication de la branche principale de GitHub de VS.NET
Je suis en utilisant VS.NET 2013 avec l'intégration de Git outils, et d'essayer de publier mon master
branche à une existant référentiel j'ai mis en place sur GitHub. Je suis à l'aide de la VS.NET outils dans l'IDE exclusivement et serait à la merci de toutes les réponses à suivre à l'aide de ces outils si possible par opposition à une ligne de commande.
Toutes mes modifications ont été engagés localement et j'ai juste besoin de publier la direction générale de GitHub. Cependant, lorsque j'essaie de publier mon local master
branche que j'ai l'erreur suivante:
Vous ne pouvez pas publier local de la branche master du dépôt distant origine
parce qu'une branche avec le même nom existe déjà là. Vous pourriez
souhaitez renommer votre succursale locale et essayez à nouveau.
Je sais il y a un long article à ce ici, mais je vais essayer de remédier à cette de VS.NET ou en ligne à GutHub directement si possible. Au mieux, je veux mieux comprendre le problème.
Je suis presque positif ce problème a été causé par moi en sélectionnant l'option Initialize this repository with a README
sélection sur GitHub au lieu de créer un vide repositoy que mes modifications locales pourrait être poussé à. Je pense que GutHub a utilisé le même nom de branche déjà et il est à l'origine d'un conflit.
Je suppose que je pourrais supprimer le repository sur GitHub et commencer à partir de zéro, mais a été l'espoir d'obtenir cette repassé soit à partir de VS.NET ou GitHub. Quelqu'un sait-il comment je peux faire si mon master
branche peut être publié avec succès?
Vous devez vous connecter pour publier un commentaire.
Depuis que je vient de créer le référentiel et il n'y avait pas les utilisateurs, la solution a été de supprimer le référentiel à partir de Github (sous le menu 'Paramètres') et de le créer encore (une fois supprimé, je pourrais utiliser le même nom). L'astuce est de pas initialiser le référentiel à partir de GitHub - permettre VS.NET pour ce faire, le 1er de synchronisation. Maintenant, il fonctionne à merveille de VS.NET.
Si je pas ont supprimé le référentiel, j'aurais dû utiliser certains outils externes pour renommer le référentiel local, ou de l'utilisation de la synchronisation à partir d'un autre outil (comme TortoiseGit) qui permet de forcer pour remplacer le branche sur sync. Il ne semble pas il n'y a rien de natif de VS.NET que serait permettre que cela se produise.
Il y a un correctif pour ce:
Allez dans votre invite de commande et modifier à votre solution d'annuaire. De là, vous devriez être en mesure d'exécuter des commandes git. Vous pourriez avoir à installer git si vous ne l'avez pas déjà
Exécuter la commande git pull origin master'. Cela devrait fusionner votre dépôt GitHub auprès de votre centre des pensions.
C'est tout ce que nous avons à faire à partir de l'invite de commande. Maintenant, revenez à Visual Studio
Vous pouvez obtenir des conflits, si vous le faites, vous aurez à résoudre ces et de s'engager localement à nouveau. Visual Studio vous dira s'il y a des conflits.
Une fois que tous les conflits sont résolus, cliquez sur le "maître" proche du haut de la fenêtre. Il devrait vous donner une liste déroulante avec un élément appelé "gérer les branches'. Cliquez sur elle.
Vous devriez voir une branche appelée "maître" dans la rubrique "Inédits Branches"
Clic droit sur le master et cliquez sur "Publier Branche"
Maintenant, vous pouvez cliquer sur "unsynced changements lien de nouveau, et vous verrez que le "Sync" bouton n'est pas grisé plus
Cliquez sur Sync et vous avez terminé!
Source & crédit: http://zanemayo.com/using_git_and_github_with_visual_studio.html
VS 2013 initialiser le dépôt GIT lors de votre premier commit avec sync. Donc, la solution la plus simple est de supprimer le dépôt GIT et de le recréer sans option d'initialisation.
J'ai rencontré ce problème dans Visual Studio 2015 et c'est comment je me suis fixé.
git pull origin master
(Cette commande va tirer les modifications de l'origine à distance, la branche principale, et de les fusionner pour le local de contrôle de la branche.)Visual Studio 2013
qui peuvent avoir différentes et obsolètes Git de l'outillage par rapport à l'horizon 2015 pour la solution ci-dessus.Je sais que ce un vieux thread, mais la suite a fonctionné pour moi:
Fusion remote-suivi de la branche 'refs/remotes/origin/master'
Dans VS, aller à l'Équipe de l'Explorateur > Branches; alors dites-VS pour fusionner votre succursale à distance 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, on n'aime pas les consoles...et pas besoin de téléchargement de tiers (même si certains d'entre eux sont agréables et faciles à utiliser.)
La solution pour moi a été assez simple:
Ouvrir Git Bash dans le répertoire source.
exécuter:
Cela a résolu le problème.
Pour une raison quelconque, mon VS2013 ne fait pas de créer un dépôt git lorsque vous choisissez l'une de créer un référentiel de case à cocher, j'ai donc créer le référentiel manuellement.
Temporairement ennuyeux problème est résolu par
Je sais que c'est contraire à la base de la méthodologie de vouloir seulement d'utiliser Visual Studio interface, mais il y a un problème avec VS2013 et c'est la solution de contournement pour moi.
Il y a une bonne solution:
Cliquez sur le bouton accueil dans team Explorer,
Puis Cliquez sur les Branches ci-dessous sera affiché
Créer une nouvelle Branche Nommée mêmes que celles de votre Projet /le Nom de la Solution.
Supprimer la branche principale Après que le Clic sur le bouton principal, puis cliquez sur Synchroniser, puis Pousser. après cela, allez à la bitbucket ou Git de la Page web et sélectionnez la branche nouvellement créée votre code local sera déjà poussé sur GIT.