Von Gast (nicht überprüft) , 29 April 2026

Was Sie erreichen werden

Sie werden absichtlich einen Merge-Konflikt erstellen, durch die Auflosung gehen und die Tools und Muster lernen, die Konflikte unbeangstigend machen.

Schritt 1: einen Sandbox einrichten

mkdir conflict-tutorial && cd conflict-tutorial
git init
cat > recipe.txt <<'EOF'
Tomato Sauce Recipe
Ingredients:
- 1 onion, chopped
- 2 cloves garlic
- 1 can tomatoes
EOF
git add recipe.txt
git commit -m "Initial recipe"

Schritt 2: zwei divergierende Branches erstellen

git checkout -b add-basil
sed -i.bak 's/2 cloves garlic/2 cloves garlic\n- handful of basil/' recipe.txt && rm recipe.txt.bak
git commit -am "Add basil"

git checkout -b add-oregano main
sed -i.bak 's/2 cloves garlic/2 cloves garlic\n- pinch of oregano/' recipe.txt && rm recipe.txt.bak
git commit -am "Add oregano"

Schritt 3: den Konflikt auslosen

git checkout main
git merge add-basil
git merge add-oregano
CONFLICT (content): Merge conflict in recipe.txt
Automatic merge failed; fix conflicts and then commit the result.

Schritt 4: die Konflikt-Marker lesen

<<<<<<< HEAD
- handful of basil
=======
- pinch of oregano
>>>>>>> add-oregano

Schritt 5: auflosen

- 2 cloves garlic
- handful of basil
- pinch of oregano
- 1 can tomatoes

Schritt 6: stagen und Merge abschliessen

git add recipe.txt
git status
git merge --continue
git commit

Tools, die helfen

git mergetool
git config --global merge.tool vimdiff

Abbrechen

git merge --abort

Haufige Muster

  • Eine Seite ganz nehmen.
  • Beide nehmen.
  • Den Merge neu starten.

Vor dem Auflosen inspizieren

git diff
git log --merge -p <file>
git show :1:<file>
git show :2:<file>
git show :3:<file>

Rerere fur wiederholte Konflikte

git config --global rerere.enabled true