Heim >Entwicklungswerkzeuge >Idiot >Warum erzeugt Git Konflikte?
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.
Die Betriebsumgebung dieses Artikels: Windows 10-System, Git-Version 2.30.0, Dell G3-Computer.
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
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 ändern 3.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 festschreibenaBranch-Zweig:
bZweigzweig:
(3) Beim Zusammenführen von Zweigen kommt es zu KonfliktenEine 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!