Git: Unterschied zwischen den Versionen
Aus Das Sopra Wiki
Roth (Diskussion | Beiträge) |
Roth (Diskussion | Beiträge) |
||
| Zeile 143: | Zeile 143: | ||
both modified: README.md | both modified: README.md | ||
In diesem Fall ist die Datei <code>README.md</code> in beiden Branches bearbeitet worden und Git weis nicht wie diese Datei nach dem merge aussehen soll. Öffnet man diese Datei jetzt, kann der Inhalt beispielsweise so Aussehen: | |||
<<<<<<< HEAD | |||
# Setup | |||
======= | |||
# Installation | |||
>>>>>>> feature/foo | |||
1. Turn PC on. | |||
Hier makiert alles zwischen <code><<<<<<< HEAD</code> und <code>=======</code> (In diesem Fall also <code># Setup</code> den vom Konflickt betroffenen Bereich im aktuellen develop Zustand. Ab <code>=======</code> bis <code>>>>>>>> feature/foo</code> (In diesem Fall also <code># Installation</code>) Den vom Konflickt betroffenen Bereich im feature/foo Branch. Alle diese Bereiche (es kann mehrere geben) müssen nun manuell aufgelöst werden. Dabei ist es wichtig auch die Git Markierungen zu entfernen. Eine Lösung könnte also sein: | |||
# Setup | |||
1. Turn PC on. | |||
Hat man die Konflikte einer Datei behoben, gibt man der Dateu den "staged" Zustand (<code>git add <datei></code>). Ist man mit allen Konflikten fertig, macht man einen Commit, dessen Nachricht in der Regel etwa lautet: "''Merge feature/foo Evtl zusätzliche info oder Zusammenfassung für neues feature''" | |||
Das rein manuelle lösen von Konflikten kann sehr Zeitintensiv und umständlich sein. Desshalb gibt es eine Reihe von tools die helfen. Git integriert eine reihe davon und man startet diese mit | |||
git mergetool | |||
Hat man die Konflikte in dem Tool behoben, fügt Git die Dateien automatisch zur Stage hinzu, so dass man nur noch den merge Commit machen muss. | |||
=== History === | === History === | ||
