2016-08-05 8 views
0

Ich bin neu in der Verwendung von Github mit Visual Studio 2015 Plugin und ich bin fest.Visual Studio 2015 mit Github-Plugin-Ausgabe

Ich habe ein neues Projekt auf Github erstellt und konnte das Depot mit meinem Visual Studio Projekt verbinden. Ich konnte einen Code bis zum Depot synchronisieren. Dann habe ich eine Readme-Datei zu meinem Projekt auf Github von der Website hinzugefügt. Am nächsten Tag habe ich mehr Code erstellt und beschlossen, es mit dem Depot zu synchronisieren, aber jetzt heißt es, dass ich eingehende Commits (die Readme-Datei) habe. Ich habe auf den eingehenden Commit gegriffen, aber nichts passiert. Ich habe auf "Pull" geklickt und es heißt, dass meine Änderungen durch die Zusammenführung überschrieben würden.

Ich ging dann zu ausgehenden Commit (diejenigen, die ich gerade gemacht habe) und klicken Sie auf Push. "Sie können den Zweigstellenmaster nicht an den Remoteursprung verschieben, da im Zweig des Remoterepositorys neue Commits vorhanden sind. Das Drücken dieses Zweigs würde zu einer Nicht-Schnellvorlaufaktualisierung des Zweigs im Remote-Repository führen"

i klicken über mehrere Dinge und ich kann dieses Problem immer noch nicht lösen. Ich möchte mein aktuelles Projekt mit der Readme-Datei aktualisieren und dann mein Depot aktualisieren. (Ich bin auch neu in der Terminologie)

Antwort

1

Das Problem ist, dass Sie Änderungen auf dem Server haben, die festgeschrieben sind, und Änderungen an einigen der gleichen Dateien auf Ihrer lokalen Kopie, die damit in Konflikt stehen Git kann nicht herausfinden, welche "gewinnen" sollte.

Sie müssen jede Datei mit Konflikten betrachten, verstehen, wo die Konflikte sind, sie aussortieren, git sagen, dass Sie die Datei aussortiert haben, und dann weitermachen.

So Fetch wird alle Änderungen von Github, lokal, aber nicht ändern Sie Ihre Arbeitskopie.

Merge soll die Änderungen in Ihrem aktuellen Zweig herunterziehen und sie zusammenführen (und das ist, wo es Probleme hat).

Beste Empfehlung für die Arbeit mit Git (ob Visual Studio oder nicht)): Fetch und Merge oft. Jeden Tag mindestens.

Diese Seite sieht wie ein vernünftiges Tutorial aus, wie es geht. Es sieht ähnlich aus wie meine VS2015 Git Plugins.

https://msdn.microsoft.com/en-us/library/dd286559.aspx

Diese Seite ist ein ziemlich gutes Tutorial auf es von der Kommandozeile tun:

https://easyengine.io/tutorials/git/git-resolve-merge-conflicts/

(Aber ich muss sagen: das Visual Studio-Tool macht es einfacher) .

So sind die wichtigsten Punkte sind:

  • Blick auf jede Datei und die Konflikte beheben.
  • tell git, dass Sie die Datei
  • behoben haben Nachdem Sie alle Dateien getan haben, müssen Sie „die Zusammenführung verpflichten“

Dann bist du an einem Ort Ihrer lokalen Änderungen zu übernehmen und schiebe sie auf den Server.

Zweiter Tipp: Die meisten Leute, die ich kenne, die git mit Visual Studio verwenden, verwenden auch den Befehlszeilenclient ausgiebig und haben normalerweise einen zusätzlichen GUI-Client (wie Atlassian's Sourcetree). Ich benutze alle drei jeden Tag.

+0

Ich habe versucht, die Microsoft-Lösung zu verwenden. Ich klicke auf Fetch, aber es scheint nie etwas zu holen, und es sagt nicht, dass es einen Konflikt gibt, den ich lösen muss. Dann probierte ich die easyengine.io und spielte die grep -lr '<<<<<<<'. Befehl. es gab mir nichts. Ich benutze MINGW64 und wenn ich in das Projektverzeichnis gehe, sagt es "MASTER" neben dem Verzeichnisnamen. – Hyperian

+0

Können Sie 'git status' und' git branch -a' eingeben und die Ausgabe veröffentlichen? – GregHNZ

+0

$ git status Auf Zweig-Master Ihre Zweigstelle und 'Ursprung/Master' sind auseinander gegangen, und haben jeweils 1 und 1 verschiedene Commits. (use "git pull" die Remote-Zweig in Ihnen fusionieren) Änderungen festgeschrieben werden: (use "git reset HEAD ...", um unstage) neue Datei: .gitattributes neue Datei: .gitignore Untracked Dateien: (use "git add ..." in schließen, was begangen wird) FalloutShelterSaveEditor.sln Hyperian @ Hyperian-PC MINGW64 ~/Dokumente/Visual Studio 2015/projects/FalloutShelterSaveEditor (Master) – Hyperian