8.581
Bearbeitungen
Jneug (Diskussion | Beiträge) |
Jneug (Diskussion | Beiträge) |
||
Zeile 36: | Zeile 36: | ||
Wenn eine Datei gleichzeitig von mehreren Entwicklern bearbeitet wurde, dann kann es zu einem ''Konflikt'' kommen. Normalerweise würden die Änderungen des einen Entwicklers die des anderen überspeichern. {{Git}} erkennt diesen Konflikt aber und erlaubt es dem zweiten Programmierer, das Problem zu beheben. | Wenn eine Datei gleichzeitig von mehreren Entwicklern bearbeitet wurde, dann kann es zu einem ''Konflikt'' kommen. Normalerweise würden die Änderungen des einen Entwicklers die des anderen überspeichern. {{Git}} erkennt diesen Konflikt aber und erlaubt es dem zweiten Programmierer, das Problem zu beheben. | ||
=== Konflikte in Fork auflösen === | |||
Wenn ein Konflikt in einer Datei aufgetreten ist, wird in {{Fork}} ein Hinweis angezeigt. | |||
[[Datei:Fork conflict 1.jpg|center|frame]] | |||
Links wird angezeigt, dass es sowohl Änderungen auf dem zentralen Server gibt, als auch in der lokalen Kopie. Um das Problem zu beheben, klicke oben auf "Resolve". | |||
Wähle eine Datei mit einem Konflikt und dann "Merge in Fork". | |||
[[Datei:Fork merge 1.jpg|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 für jede Zeile entscheiden, welche Version in der Datei behalten werden soll. Du kannst auch beide Versionen einfügen oder im unteren Teil des Fensters das Resultat von Hand bearbeiten. | |||
Öffne die Datei in einem Texteditor deiner Wahl (zum Beispiel | |||
[[Datei:Fork merge 2.jpg|center|frame]] | |||
Klicke schließlich auf "Resolve" und dann "Commit". Der Konflikt wurde aufgelöst und die zusammengefügte Datei direkt ''committed''. | |||
{{Erfolg|Hast du alle Konflikte aufgehoben, kannst du erneut versuchen deine Änderungen zu "pushen".}} | |||
=== Konflikte mit dem Texteditor lösen === | |||
Da es sich bei allen Dateien um Textdateien handelt, kannst du die entsprechende Datei auch einfach in einem Texteditor öffnen und von Hand bearbeiten. | |||
Öffne die Datei in einem Texteditor deiner Wahl (zum Beispiel {{Notepad++|link}}). Alle Konflikte in der Datei sind mit speziellen Markierungen versehen: | |||
<pre> | <pre> | ||
Zeile 60: | Zeile 70: | ||
</pre> | </pre> | ||
Die Zeile <code><<<<<<< 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>>>>>>>> main</code> kennzeichnet das Ende des Konfliktes. (Statt <code>main</code> kann hier auch etwas anderes stehen.) | Die Zeile <code><<<<<<< 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>>>>>>>> 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. | 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 | 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 {{DiffMerge|link}}, [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. | 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. | ||
Zeile 72: | Zeile 82: | ||
[[Datei:DiffMerge MergeConflict.png|center]] | [[Datei:DiffMerge MergeConflict.png|center]] | ||
Hast du schließlich alle Konflikte gelöst, erkennt {{ | Hast du schließlich alle Konflikte gelöst, erkennt {{Fork}} dies und du kannst die zusammengeführte Datei ''commiten''. | ||
Hast du | {{Erfolg|Hast du alle Konflikte aufgehoben, kannst du erneut versuchen deine Änderungen zu "pushen".}} |
Bearbeitungen