Warum erzeugt Git Konflikte?

WBOY
Freigeben: 2022-06-24 10:38:17
Original
10770 Leute haben es durchsucht

In Git liegt der Grund für Konflikte darin, dass beim Zusammenführen von Dateien derselbe Speicherort derselben Datei geändert wurde und der Inhalt unterschiedlich ist. Das heißt, dieselbe Datei der beiden übermittelten Zweige wurde mit unterschiedlichen Vorgängen zusammengeführt Derselbe Standort, daher tritt ein Konflikt auf. Zu den häufigen Vorgängen, die Konflikte verursachen, gehören das Zusammenführen zweier Zweige und das Abrufen von Remote-Warehouse-Code in den lokalen Bereich.

Warum erzeugt Git Konflikte?

Die Betriebsumgebung dieses Artikels: Windows 10-System, Git-Version 2.30.0, Dell G3-Computer.

Warum gibt es einen Git-Konflikt? 1. Häufige Konfliktoperationen:

Zwei Zweige zusammenführen. Ursachen für Konflikte:
  • Wenn beim Zusammenführen von Dateien derselbe Speicherort derselben Datei geändert wird und der Inhalt unterschiedlich ist, treten Konflikte auf

  • Drei. Lösungsschritte:

  • 1. Überprüfen Sie die Konfliktdatei mit dem Git-Status

2.vim src/main/java/a.txt (vorausgesetzt, a.txt ist eine Konfliktdatei, dies muss der vollständige Pfad der Datei sein) , den Konfliktteil manuell ändern3.git add src/main/java/a.txt teilt Git mit, dass der Konflikt gelöst ist

4.git commit -m 'Konflikt lösen' (Konfliktlösung ist ein Kommentar, anpassbar)

zwei übermittelte Zweige Verschiedene Vorgänge an derselben Datei am selben Ort werden zusammengeführt

Praktische Demonstration

(1) Szenario

  Zwei verschiedene Zweige in der lokalen Bibliothek ändern dieselbe Datei und denselben Codeblock und Die beiden Zweige führen die Änderungen zusammen. Wenn der Master im Hauptzweig den Code des zweiten Zweigs zusammenführt, wird ein Fehler gemeldet: Zusammenführungskonflikt.

(2) Lokale Bibliothek

<1>Master-Zweig


<2> Zwei Zweige erstellen

<3> Zwei Zweige ändern und festschreiben

aBranch-Zweig:

bZweigzweig:

(3) Beim Zusammenführen von Zweigen kommt es zu Konflikten

Eine Zweigniederlassung zusammenführen (eine Zweigniederlassung mit der aktuellen Hauptniederlassung zusammenführen) :

Hinweis:

Git-Merge: Standardmäßig führt Git eine „Fast-Farward-Merge“ durch und verweist den Master-Zweig direkt auf den Develop-Zweig.

Nach Verwendung des Parameters --no-ff wird die normale Zusammenführung durchgeführt und ein neuer Knoten im Master-Zweig generiert. Um die Klarheit der Versionsentwicklung sicherzustellen, wird empfohlen, diese Methode zu übernehmen.

Führen Sie den bBranch-Zweig erneut zusammen, was zu Konflikten führt:

mergeTest.txt Dateiinhalt:



(4) Lösen Sie den Konflikt

Suchen Sie im aktuellen Zweig (Master) die Konfliktdatei und ändern Sie sie den Konfliktcode direkt hinzufügen, festschreiben.

Hinweis: Einfache Methode: Verwenden Sie vim zum Ändern und cat zum Anzeigen von Konfliktdateien. (Achten Sie darauf, das von Git automatisch generierte Konfliktcode-Trennzeichen zu löschen.)

(5) Schließen Sie die Konfliktlösung ab

Hinweis: Durch das Senden oder Zusammenführen werden Git-Knoten generiert. Jeder Knoten entspricht einer Codeversion.

Empfohlenes Lernen: „Git Tutorial

Das obige ist der detaillierte Inhalt vonWarum erzeugt Git Konflikte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
git
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!