Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn Sie eine Verzweigung in eine andere zusammenführen, können Dateiänderungen von Commits in einer Verzweigung mit den Änderungen des anderen in Konflikt treten. Git versucht, diese Änderungen mithilfe des Verlaufs in Ihrem Repository zu beheben, um zu bestimmen, wie die zusammengeführten Dateien aussehen sollen. Wenn nicht klar ist, wie Änderungen zusammengeführt werden, stoppt Git den Merge und teilt Ihnen mit, welche Dateien Konflikte aufweisen.
Vermeidung von Merge-Konflikten
Git eignet sich gut zum automatischen Zusammenführen von Dateiänderungen unter den meisten Umständen, solange sich der Dateiinhalt nicht erheblich zwischen Commits ändert. Wenn Ihr Branch weit hinter dem Mainbranch liegt, sollten Sie bei Ihren Branches ein Rebase ausführen, bevor Sie einen Pull Request öffnen. Umbasierte Branches werden ohne Konflikte in Ihren Mainbranch gemergt.
Lösen von Mergekonflikten
- Wenn Sie mit anderen im selben Branch zusammenarbeiten, können Mergekonflikte auftreten, wenn Sie Ihre Änderungen pushen.
Visual Studio erkennt, ob der lokale Branch, an dem Sie gearbeitet haben, hinter dem zugehörigen Remote-Tracking-Branch zurückliegt, und bietet Ihnen dann verschiedene Auswahlmöglichkeiten.
Anmerkung
Wenn Ihr Remoterepository Force Push unterstützt, können Sie dies über Git>Einstellungen aktivieren.
Wählen Sie in diesem Beispiel Pull und dann Push aus, um Änderungen einzuschließen, die im Remote-Repository eingeführt wurden. Wenn beim Pullen von Änderungen oder beim Mergen von zwei Branches Mergekonflikte auftreten, informiert Visual Studio Sie im Fenster Git-Änderungen, im Fenster Git-Repository und bei Dateien, die Konflikte aufweisen.
Im Fenster Git-Changes wird eine Liste von Dateien mit Konflikten unter Nicht gemergete Änderungen angezeigt. Um mit der Lösung von Konflikten zu beginnen, doppelklicken Sie auf eine Datei. Wenn Sie eine Datei mit Konflikten im Editor geöffnet haben, können Sie auch Merge-Editor öffnen auswählen.
Beginnen Sie im Merge-Editor mit der Lösung Ihres Konflikts durch eine der folgenden Methoden (wie im nummerierten Screenshot dargestellt).
Gehen Sie Ihre Konflikte Zeile für Zeile durch und wählen Sie zwischen der rechten oder linken Seite, indem Sie die entsprechenden Kontrollkästchen auswählen.
-oder-
Wählen Sie die Schaltfläche "Eingehende übernehmen" aus (oder drücken Sie F10), um alle eingehenden Änderungen zu akzeptieren, oder Schaltfläche "Aktuelle übernehmen" (oder drücken Sie F11), um Ihre aktuelle Version aller widersprüchlichen Änderungen beizubehalten. Sie können dasselbe tun, indem Sie eines der Kontrollkästchen oben in einem der nebeneinander liegenden Rahmen auswählen.
-oder-
Bearbeiten Sie den Code manuell im Fenster Resultat.
Wählen Sie nach der Auflösung der Mergekonflikte Merge akzeptieren aus. Wiederholen Sie diesen Vorgang für alle widersprüchlichen Dateien.
Verwenden Sie das Git Changes Fenster, um einen Zusammenführungs-Commit zu erstellen und den Konflikt zu lösen.
Anmerkung
Wenn Sie Konflikte lösen möchten, ohne den Merge-Editor zu öffnen, klicken Sie mit der rechten Maustaste auf eine Datei, einen Ordner oder den Repositorystamm in Nicht zusammengeführte Änderungen. Wählen Sie für eine einzelne Datei Aktuelle Version beibehalten (lokal) aus. Um alle Konflikte im ausgewählten Bereich zu beheben, wählen Sie Alle aktuellen beibehalten oder Alle eingehenden übernehmen aus. Ausführliche Informationen finden Sie unter „Konflikte gesammelt beheben“.
Anmerkung
Wenn Sie alle Änderungen an einer Datei beibehalten möchten, können Sie im Abschnitt Nicht zusammengeführte Änderungen mit der rechten Maustaste darauf klicken und Aktuelle Version (lokal) auswählen, ohne den Merge-Editor öffnen zu müssen.
Tipp
Weitere Informationen zu den verfügbaren Barrierefreiheitsoptionen finden Sie im Git-Tastenkombinationen Abschnitt der Tipps und Tricks zur Barrierefreiheit in Visual Studio.
Konflikte gesammelt lösen
Ab Visual Studio 2026, Version 18.11, können Sie Konflikte für eine Datei, einen Ordner oder das gesamte Repository in einem Schritt lösen, wenn Sie die gleiche Seite für alle betroffenen Dateien beibehalten möchten.
- Suchen Sie in Git-Änderungen nach Nicht zusammengeführten Änderungen.
- Klicken Sie mit der rechten Maustaste auf eine Datei, einen Ordner oder das Wurzelverzeichnis des Repositorys.
- Wählen Sie Alle aktuellen beibehalten aus, um die aktuellen Versionen beizubehalten, oder Alle eingehenden übernehmen, um die eingehenden Versionen zu akzeptieren.
Die Aktion gilt für die ausgewählte Datei oder für die Dateien mit Konflikten unter dem ausgewählten Ordner- oder Repositorystamm. Überprüfen Sie den Geltungsbereich, bevor Sie eine Aktion auswählen. Diese Sammelbefehle sind eine Alternative zum Auflösen jeder Datei im Merge-Editor. Sie unterscheiden sich von den Schaltflächen "Aktuell übernehmen" und "Eingehendes übernehmen".
Verwenden Sie nach dem Auflösen aller Konflikte Git Changes , um den Zusammenführungs-Commit zu erstellen, wie unter "Zusammenführungskonflikte lösen" beschrieben.
Ihr Diff-Tool konfigurieren
Wenn Sie Ihre .gitconfig Datei festlegen, um ein Diff-Tool eines Drittanbieters wie BeyondCompare oder KDiff3 zu verwenden, respektiert Visual Studio sie. Wenn Visual Studio normalerweise einen Diff anzeigt, wird im Tool Ihrer Wahl ein separates Fenster geöffnet. Ein Beispiel hierzu finden Sie in dieser Stack Overflow-Frage.