Lernpfad:Einführung in Git/4: Unterschied zwischen den Versionen

Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 42: Zeile 42:
[[Datei:GitHub_Desktop_ResolveMsg.png|center|frame]]
[[Datei:GitHub_Desktop_ResolveMsg.png|center|frame]]


Es wird nun ein zwei geteiltes Fenster angezeigt, in dem die beiden in konflikt stehenden Versionen der Dateien nebeneinander angezeigt werden. Du kannst jetzt für jede Zeile entscheiden, welche Version in der Datei behalten werden soll. Du kannst auch beide Versionen nacheinander einfügen oder im unteren Teil des Fensters das Resultat von Hand bearbeiten.
Es gibt nun verschiedene Möglichkeiten, den Konflikt aufzuheben. Du kannst die entsprechende Datei einfach in einem Texteditor öffnen und von Hand bearbeiten, oder ein spezielles Tool mit einer grafischen GUI benutzen.
 
==== Konflikte mit dem Texteditor lösen ====
Öffne die Datei in einem Texteditor deiner Wahl (zum Beispiel ''Notepad++''). Alle Konflikte in der Datei sind mit speziellen Markierungen versehen:
 
<pre>
<<<<<<< HEAD
0.  Ngb,J. Neugebauer,ngb@helmholtz-bi.de
=======
0.  Ngb,J. Neugebauer,ngb@helmholtz-bi.de
1.  Fred,Fred Mustermann,fred.mustermann@gmx.de
>>>>>>> main
</pre>
 
Die Zeile <code>&lt;&lt;&lt;&lt;&lt;&lt;&lt; HEAD</code> markiert den Beginn eines Konfliktes. Dahinter steht der Inhalt, der aktuell im Repository gespeichert ist. Dahinter folgt, durch <code>=======</code> getrennt der neue Inhalt, den du gerade commiten möchtest und der den Konflikt verursacht. <code>&gt;&gt;&gt;&gt;&gt;&gt;&gt; main</code> kennzeichnet das Ende des Konfliktes. (Statt <code>main</code> kann hier auch etwas anderes stehen.)
 
Um den Konflikt aufzuheben ersetzte du den gesamten markierten Textteil durch den Inhalt, der am Ende in der Datei stehen soll. Dazu musst du beide Versionen vergleichen und gegebenenfalls zusammenfügen. Manchmal ist es aber genug, einfach den unteren Inhalt zu übernehmen.
 
==== Spezielle Tools zum Dateivergleich ====
 
Es gibt auch spezielle Tools, die extra für das Auflösen von Konflikten erstellt wurden. Diese Dateien zeigen beide Dateiversionen nebeneinander an und erlauben es dir mit einem Klick die passenden Textteile zu übernehmen. Beispiele für solche Tools sind [https://www.sourcegear.com/diffmerge/ DiffMerge], [https://www.fosshub.com/KDiff3.html KDiff3] oder [http://meldmerge.org Meld].
 
Es wird ein zweigeteiltes Fenster angezeigt, in dem die beiden in Konflikt stehenden Versionen der Dateien nebeneinander angezeigt werden. Du kannst jetzt für jede Zeile entscheiden, welche Version in der Datei behalten werden soll. Du kannst auch beide Versionen nacheinander einfügen oder das Resultat von Hand bearbeiten.
 
[[Datei:DiffMerge MergeConflict.png|center|frame|Konflikt auflösen in DiffMerge]]
 
Hast du schließlich alle Konflikte gelöst, erkennt {{GitHub Desktop}} dies.


[[Datei:GitHub Desktop ResolvedMsg.png|center|frame]]
[[Datei:GitHub Desktop ResolvedMsg.png|center|frame]]