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

Was Sie erreichen werden

Sie werden einen Feature-Branch nehmen, der hinter main zuruckgefallen ist, ihn sauber auf die neue Spitze rebasen, eventuelle Konflikte losen und den rebasten Branch zuruckpushen.

Warum Rebase, nicht Merge?

Wenn Sie main in Ihren Feature-Branch mergen, entstehen zusatzliche Merge-Commits.

Schritt 1: einen Sandbox einrichten

mkdir rebase-tutorial && cd rebase-tutorial
git init
echo "v1" > app.txt
git add app.txt && git commit -m "Initial"

git checkout -b feature/login
echo "login" > login.txt
git add login.txt && git commit -m "Add login"

git checkout main
echo "v2" > app.txt
git commit -am "Update app to v2"

Schritt 2: rebasen

git checkout feature/login
git rebase main

Schritt 3: Konflikte handhaben

git status
git add app.txt
git rebase --continue
git rebase --abort

Schritt 4: verifizieren

git log --oneline --graph

Schritt 5: Push

git push
git push --force-with-lease

Haufige Varianten

git fetch origin
git rebase origin/main

git config --global pull.rebase true

git checkout main && git pull
git checkout feature/login && git rebase main

Interaktiver Rebase

git rebase -i main

Fallstricke und Regeln

  • Niemals geteilte Branches rebasen.
  • --force-with-lease verwenden.
  • Konflikte in der Reihenfolge losen.
  • Wenn Konflikte uberwaltigend sind, abbrechen.

Wiederherstellung

git reflog
git reset --hard ORIG_HEAD