it-swarm.com.de

Fehler beim Veröffentlichen des Master-Zweigs von VS.NET in GitHub

Ich verwende VS.NET 2013 mit den integrierten Git-Tools und versuche, meine master-Verzweigung in einem vorhandenen Repository zu veröffentlichen, das ich auf GitHub eingerichtet habe. Ich verwende ausschließlich die VS.NET-Tools in der IDE und würde gerne die folgenden Antworten mit diesen Tools wenn möglich - im Gegensatz zu einer Befehlszeile verwenden.

Alle meine Änderungen wurden lokal übernommen und ich muss nur den Zweig in GitHub veröffentlichen. Wenn ich jedoch meinen lokalen master-Zweig versuche und veröffentliche, erhalte ich die folgende Fehlermeldung:

Sie können den lokalen Zweigmaster nicht im Remote-Repository Origin Veröffentlichen, da dort bereits ein Zweig mit demselben Namen vorhanden ist. Möglicherweise möchten Sie Ihren lokalen Zweig umbenennen und es erneut versuchen.

Ich weiß, dass es einen ausführlichen Artikel zu diesem hier gibt, aber ich versuche, dies nach Möglichkeit direkt von VS.NET oder online bei GutHub zu beheben. Im besten Fall möchte ich das Problem besser verstehen.

Ich bin fast sicher, dass dieses Problem dadurch verursacht wurde, dass ich die Option Initialize this repository with a README selection in GitHub auswählte, anstatt ein leeres Repositoy zu erstellen, in das meine lokalen Änderungen verschoben werden könnten. Ich denke, GutHub hat bereits denselben Filialnamen verwendet und verursacht einen Konflikt.

Ich vermute, ich könnte das Repository auf GitHub löschen und von vorne anfangen, hoffte jedoch, dass es entweder aus VS.NET oder GitHub gelöscht werden könnte. Weiß jemand, wie ich es schaffen kann, damit meine master-Niederlassung erfolgreich veröffentlicht werden kann?

22
atconway

Da ich gerade das Repository erstellt hatte und es keine Benutzer gab, bestand die Lösung darin, das Repository aus Github zu löschen (im Menü "Einstellungen") und es erneut zu erstellen (wenn es einmal gelöscht wurde, konnte ich denselben Namen verwenden). Der Trick besteht darin, das Repository von GitHub aus nicht zu initialisieren - VS.NET dies bei der ersten Synchronisierung zu ermöglichen. Nun funktioniert es wunderbar von VS.NET.

Wenn ich nicht das Repository gelöscht hätte, hätte ich entweder externe Tools verwenden müssen, um entweder das lokale Repository umzubenennen oder die Synchronisierung von einem anderen Tool (wie TortoiseGit) zu verwenden, das das Überschreiben des Zweigs beim Synchronisieren erzwingt . Es schien nicht, dass VS.NET nativ war, was dies zulässt.

35
atconway

Es gibt ein Update dafür:

Gehen Sie zu Ihrer Eingabeaufforderung und wechseln Sie in Ihr Lösungsverzeichnis. Von dort sollten Sie git-Befehle ausführen können. Sie müssen möglicherweise git installieren, wenn Sie noch nicht Ausgeführt haben. Führen Sie 'git pull Origin master' aus. Dies sollte Ihr GitHub-Repo mit Ihrem lokalen Repo zusammenführen. Das ist alles, was wir mit der Eingabeaufforderung tun müssen. Gehen Sie jetzt zurück zu Visual Studio 

Es kann zu Konflikten kommen. In diesem Fall müssen Sie diese Konflikte lösen und erneut lokal festlegen. Visual Studio informiert Sie, wenn Konflikte vorliegen. Wenn Konflikte gelöst sind, klicken Sie auf den Link "Master" oben im Fensterbereich. Es sollte eine Dropdown-Liste mit einem Element namens "Zweige verwalten" angezeigt werden. Klick es. Sie sollten einen Zweig mit dem Namen 'master' unter der Überschrift 'Unveröffentlichte Zweige' sehen. Klicken Sie mit der rechten Maustaste auf master und klicken Sie auf 'Zweig veröffentlichen'. Nun können Sie auf 'unsynchronisiert' klicken ändert sich erneut und Sie werden sehen, dass die Schaltfläche "Synchronisieren" nicht mehr ausgegraut ist Klicken Sie auf "Synchronisieren", und Sie sind fertig!

Quelle und Kredit: http://zanemayo.com/using_git_and_github_with_visual_studio.html

17
Darky711

VS 2013 initialisiert das GIT-Repository beim ersten Commit mit der Synchronisierung. Eine einfache Lösung besteht also darin, das GIT-Repository zu löschen und ohne Initialisierungsoption neu zu erstellen.

 enter image description here

3
marvelTracker

Ich habe dieses Problem in Visual Studio 2015 erlebt, und so wurde es behoben.

  1. Verbinden Sie sich mit Ihrem lokalen Git-Repository
  2. Zweigstelle öffnen
  3. Klicken Sie mit der rechten Maustaste auf den Master-Zweig
  4. Wählen Sie Eingabeaufforderung öffnen
  5. Führen Sie git pull Origin master aus (Mit diesem Befehl werden die Änderungen vom Origin-Remote- und Master-Zweig abgerufen und mit dem ausgecheckten lokalen Zweig zusammengeführt.)
  6. Veröffentlichen Sie Ihr Repository.
1
Frank Odoom

Ich weiß, dass dies ein alter Thread ist, aber das Folgende hat für mich funktioniert: Fernverfolgungszweig zusammenführen 'refs/remotes/Origin/master'

Gehen Sie in VS zu Team Explorer> Branches; Dann teilen Sie VS mit, dass Sie Ihren Remote-Zweig mit dem Master zusammenführen.

Das scheint für mich funktioniert zu haben. Keine Notwendigkeit, irgendetwas zu löschen, keine Notwendigkeit, eine Konsole zu verwenden ... wir sind VS-Entwickler, wir mögen keine Konsolen ... und brauchen keine Downloads von Drittanbietern (auch wenn einige von ihnen nett und einfach zu haben sind) benutzen.)

1

Es gibt eine gute Lösung:

Klicken Sie auf die Home-Schaltfläche im Team Explore.

enter image description here

Dann klicken Sie auf Zweige unten wird angezeigt

enter image description here

Erstellen Sie eine neue Zweigstelle mit demselben Namen wie Ihr lokaler Projekt-/Lösungsname. Löschen Sie den Hauptzweig. Klicken Sie danach auf die Home-Schaltfläche, dann auf Sync und dann auf Push. Gehen Sie danach auf die Bitbucket- oder Git-Webseite und wählen Sie den neu erstellten Zweig aus. Ihr lokaler Code wird bereits auf GIT übertragen.

0
M Usman Shahid

Die Lösung für mich war ziemlich einfach:

Öffnen Sie Git Bash im Quellverzeichnis.

ausführen:

git Push Origin -f

Dies hat das Problem gelöst.

Aus irgendeinem Grund erstellt mein VS2013 kein Git-Repository, wenn Sie das Kontrollkästchen Repository erstellen auswählen. Daher muss das Repository manuell erstellt werden.

Dieses zeitweilig störende Problem wird durch gelöst 

git init
git remote add Origin https://(bitbucket username)@bitbucket.org/(bitbucket project name)/(bitbucket repository name).git
git add .
git Push Origin -f

Ich weiß, das widerspricht der grundlegenden Methode, nur die Visual Studio-Schnittstelle verwenden zu wollen, aber es gibt ein Problem mit VS2013, und dies ist die Problemumgehung für mich.

0
Timothy Dooling