Heim >Web-Frontend >CSS-Tutorial >Zusammenführen Konflikte: Was sie sind und wie sie mit ihnen umgehen sollen
Dieser Artikel setzt unsere "Advanced Git" -Serie fort. Folgen Sie Tower auf Twitter oder abonnieren Sie ihren Newsletter, um Updates zu zukünftigen Artikeln zu erhalten.
Zusammenführungskonflikte: Eine häufige Frustration für Git -Benutzer, insbesondere für diejenigen, die zusammenarbeiten. Sie sind jedoch oft weniger entmutigend als sie scheinen. Diese Rate erklärt ihre Ursachen, Natur und Lösung.
Zusammenführungskonflikte entstehen bei der Integration von Änderungen aus verschiedenen Quellen in Ihren aktuellen Zweig. Dies ist nicht nur auf das Zusammenführen von Zweigen beschränkt. Wiedergeburt, Kirschpicking, git pull
oder sogar Neuantrieb können alle Konflikte auslösen. Obwohl nicht jede Integration zu einem Konflikt führt, treten Konflikte auf, wenn widersprüchliche Veränderungen vorhanden sind.
Gits verschmelzende Fähigkeiten sind eine wichtige Stärke. Es behandelt automatisch die meisten Integrationen. Wenn sich jedoch in zwei Commits oder einer Datei, die in einer Niederlassung geändert und in einem anderen gelöscht wurde, in Konflikt geändert wird - zum Beispiel dieselbe Codezeile - erfordert das Git menschliche Intervention, um die Mehrdeutigkeit zu lösen.
Git signalisiert eindeutig zusammengeführte Konflikte. Eine fehlgeschlagene Zusammenführung oder eine Rebase wird sofort im Terminal gemeldet:
<code>$ git merge develop CONFLICT (content): Merge conflict in index.html Automatic merge failed; fix conflicts and then commit the result.</code>
Selbst wenn Sie diese Nachricht verpassen, wird git status
den Konflikt hervorheben. Git -GUIs wie Tower bieten visuelle Hinweise, um sicherzustellen, dass Sie keine Konflikte übersehen. Seien Sie versichert, Git macht es schwierig, einen Zusammenführungskonflikt zu verpassen.
Es ist keine Option, einen Zusammenführungskonflikt zu ignorieren. Es muss angesprochen werden. Sie haben zwei Auswahlmöglichkeiten: Lösen Sie den Konflikt oder schließen Sie die Handlung, die ihn verursacht hat, auf.
Das Rückgängigmachen ist häufig mit dem Parameter --abort
(z. B. git merge --abort
, git rebase --abort
) unkompliziert. Dies kehrt die Zusammenführung/Rebase um und restauriert den Staat vor dem Konflikt. Dies funktioniert auch, wenn Sie mit der Lösung von Dateien begonnen haben. Sie können immer abbrechen und neu starten.
Lassen Sie uns eine konfliktreiche index.html
-Datei untersuchen:
Git markiert widersprüchliche Abschnitte mit ? Der Inhalt nach diesem Marker stammt aus Ihrem aktuellen Zweig (Kopf). <code>=======
trennt die widersprüchlichen Änderungen, gefolgt von den Änderungen aus dem anderen Zweig (z. B. develop
), gekennzeichnet durch .
Ihre Aufgabe ist es, die Datei zu bearbeiten, einen Texteditor, eine IDE, GIT -GUI oder einen Zusammenführungs -Tool zu verwenden, um den Konflikt zu lösen.
Die Auflösungsmethode - Text -Editor, IDE, GUI oder Merge Tool - spielt keine Rolle; Die endgültige Datei muss Ihren gewünschten Status widerspiegeln. Einfache Konflikte können dazu beitragen, eine Veränderung zu verwerfen. Komplexere Konflikte erfordern möglicherweise eine Zusammenarbeit, um zu entscheiden, welche Veränderung sie behalten oder wie sie kombiniert werden sollen.
Während eine manuelle Bearbeitung möglich ist, rationalisieren dedizierte Tools den Vorgang häufig. Die GIT -GIT -GUIS bietet Hilfsmittel für visuelle Konfliktlösungen. Zusammenführungswerkzeuge bieten erweiterte Diff-Anzeige- und Vergleichsfunktionen (nebeneinander, kombinierte Ansichten usw.). Konfigurieren Sie Ihr bevorzugtes Tool mit git config
und rufen Sie es mit git mergetool
auf.
Nach der Lösung des Konflikts und der Inszenierung der Änderungen ( git add<filename></filename>
), begehen Sie die Änderungen wie gewohnt.
Zusammenführungskonflikte sind überschaubar. Das Verständnis der Ursache ermöglicht es Ihnen, den Konflikt entweder rückgängig zu machen oder zu lösen. Auch Fehler sind reversibel; Wechseln Sie einfach zum Vorkonfliktbeauftragungen zurück und beginnen Sie von vorne.
Erkunden Sie das kostenlose "Advanced Git -Kit" mit Videos zu Verzweigungen, interaktiven Rebase, Reflog, Submodulen und vielem mehr.
Das obige ist der detaillierte Inhalt vonZusammenführen Konflikte: Was sie sind und wie sie mit ihnen umgehen sollen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!