it-swarm.com.de

"Konflikte verhindern das Auschecken" bei Verwendung von Git in Visual Studio

Ich verwende Git in Visual Studio. Wenn ich versuche zu synchronisieren, erscheint folgende Meldung:

Es ist ein Fehler aufgetreten. Detaillierte Nachricht: Ein Fehler wurde von libgit2 ausgelöst. Cetegory = Checkout (MergeConflict). 1 Konflikte verhindern das Auschecken

Ich habe keine Ahnung, was die Konflikte sind und wie man sie lösen kann. Kann mir jemand helfen, dieses Problem zu überwinden?

63
Jim Blum

Ich habe das gleiche Problem mit dem Git-Befehl Prompt in Visual Studio gelöst, da es Ihnen mehr Möglichkeiten gibt:

http://msdn.Microsoft.com/de-de/library/vstudio/dd286572.aspx

Sie können diese Erweiterung auch installieren, um die Arbeit damit zu erleichtern (es gibt Ihnen die Möglichkeit, nicht jedes Mal Passwörter einzugeben):

http://gitcredentialstore.codeplex.com/

Dann habe ich diese Befehle verwendet:

git pull // I got an error on this step
git stash
git pull

weitere Informationen zu Befehlen hier:

http://git-scm.com/docs/git-pull

http://git-scm.com/book/de/Git-Toolss-Stashing

http://git-scm.com/docs/git-commit

Und wie CharlesB sagte, liegt es an einem "Konflikt zwischen Ihren Änderungen und den Änderungen aus einem anderen Zweig".

52
Maks

Sie haben einige nicht festgeschriebene Änderungen. Übernehmen oder machen Sie die Änderungen rückgängig, und Git "pull" funktioniert.

34
Dachi

Dieses Problem ist bei einer "Pull" -Anforderung über Visual Studio aufgetreten. 

Eine versteckte Datei wurde geändert: .ntvs_analysis.dat

Um diese versteckte Datei zu entdecken und das Problem zu beheben, kann ich:

  1. Versteckte Dateien anzeigen Nur um zu sehen, ob es Änderungen an Dateien gab, die ich nicht sehen konnte.
  2. Verwenden Sie im Projektverzeichnis Git GUI, um die Änderung an der versteckten Datei, die ich gefunden habe, rückgängig zu machen.

Danach war meine "Pull" -Anforderung erfolgreich.


Systemsteuerung => Ordneroptionen => Ansicht => Versteckte Dateien und Ordner anzeigen

Ich hatte dieses Problem und die Art und Weise, wie ich es gelöst habe, war "rohe Gewalt" ... Ich hatte keine Änderungen zu begehen, und keine Verpflichtungen zur Synchronisierung, aber ich habe immer noch diesen Fehler erhalten, als ich versuchte, einige Änderungen einzulesen, die ein anderer Entwickler angekündigt hatte. 

Am Ende habe ich nur mein lokales Repo im Dateisystem geschlagen und den Remote-Zweig neu geklont. Voila! 

Vielleicht nicht die eleganteste Lösung, aber es funktioniert, wenn Sie keine lokalen Änderungen haben, bei denen Sie sich Sorgen machen sollten, wenn Sie verlieren.

1

In unserer Umgebung müssen wir uns nicht auf die automatische Wiederherstellung von Nuget-Paketen verlassen.

  • Einige Mitglieder verwenden die GIT-Befehlskonsole nur zum Festschreiben/Ziehen/Push.
  • Ich verlasse mich auf die Gitarrenwerkzeuge von VS2013, um Commit/Pull/Push auszuführen.
  • Die Git-Befehlskonsole überträgt den gesamten Inhalt des Paketordners
  • Visual Studio-Tools ignorieren den Paketordner

Der Konflikt war also darauf zurückzuführen, dass Dateien im Paketordner versucht wurden, über den VS-Pull hinzugefügt zu werden, aber es war bereits auf der HDD vorhanden .. __ Für jetzt habe ich nur die relevanten Paketordner/-dateien gelöscht und den Pull neu geschrieben, das funktioniert.

Hoffe das hilft.

0
Neville

wenn Sie lokale Änderungen vorgenommen haben, machen Sie einfach Ihre Änderungen fest und synchronisieren Sie diese Festschreibung nicht

changes => Geben Sie eine Commit-Nachricht ein => Commit und synchronisieren Sie diesen Commit nicht, dann können Sie korrekt ziehen

wenn Sie in Ihrem Zweig keine Änderungen vorgenommen haben, fahren Sie mit Aktionen => Kommentaraufforderung öffnen => fort und geben Sie diese Zeilen ein 

  1. git ziehen 

  2. git stash 

3.git ziehen

0

Das klingt wie das Ergebnis, dass keine ausführbaren Dateien und andere automatisch generierte Ausgaben von Visual Studio zu einer .gitignore-Datei hinzugefügt werden. Sie möchten nicht die Dateien steuern, die diese Dateien steuern. Weitere Informationen zu diesem hier.

0
ngm_code