From 605b5c494943a0bdf536711631ecd74546612021 Mon Sep 17 00:00:00 2001 From: Roger Rutishauser Date: Tue, 10 Feb 2026 09:22:23 +0100 Subject: [PATCH] update README --- git/README.md | 64 ++++++++++++++++++++++++++++++++------------------- 1 file changed, 40 insertions(+), 24 deletions(-) diff --git a/git/README.md b/git/README.md index f96b592..3c5f1d4 100644 --- a/git/README.md +++ b/git/README.md @@ -592,40 +592,56 @@ git restore datei.txt git checkout origin/main -- datei.txt ``` -## Lokale History mit Remote überschreiben +## Branch mit Remote synchronisieren + +### Standard-Synchronisation (normaler Workflow) + +Wenn du einfach die neuesten Änderungen vom Remote-Branch holen möchtest: ```bash -# Alle Remote-Änderungen holen -git fetch --all - -# Lokalen Branch komplett mit Remote überschreiben -git reset --hard origin/ - -# Beispiel für main -git fetch --all -git reset --hard origin/main -``` - -**Wichtig:** Alle lokalen Änderungen gehen verloren! - -## Main/Master auf Stand von origin aktualisieren - -```bash -# Standard-Methode +# Main/Master aktualisieren (Standard-Methode) git checkout main git pull -# Falls lokale Änderungen verworfen werden sollen +# Expliziter: Von spezifischem Remote pullen +git checkout main +git pull origin main + +# Sicherer: Erst fetchen, dann Status prüfen, dann pullen +git checkout main +git fetch origin +git status # Prüfen ob lokale Änderungen existieren +git pull origin main +``` + +**Wann verwenden:** Reguläre Synchronisation, wenn keine lokalen Änderungen vorhanden sind oder diese per Merge integriert werden sollen. + +### Lokale Änderungen komplett verwerfen (Notfall) + +Wenn lokale Änderungen komplett verworfen und durch den Remote-Stand ersetzt werden sollen: + +```bash +# ACHTUNG: Alle lokalen Änderungen gehen verloren! +git fetch --all +git reset --hard origin/ + +# Beispiel für main Branch git checkout main git fetch origin git reset --hard origin/main - -# Alternative: Zuerst fetch, dann pull -git checkout main -git fetch origin -git pull origin main ``` +**Wann verwenden:** +- Lokale Commits sind fehlerhaft und sollen verworfen werden +- Merge-Konflikte sind zu komplex und ein Neustart ist einfacher +- Experimentelle Änderungen sollen rückgängig gemacht werden +- Feature-Branch soll auf exakt denselben Stand wie Remote + +**Wichtig:** +- ⚠️ Alle lokalen, nicht gepushten Commits gehen verloren! +- ⚠️ Alle uncommitteten Änderungen gehen verloren! +- 💡 Tipp: Vorher Backup mit `git stash` oder `git branch backup-$(date +%Y%m%d)` erstellen + ## Tags ### Tags erstellen