← StartseiteProgrammierung (Програмування)

Wie man den QA/Staging-Branch schnell auf den Zustand des Main zurücksetzt

Manchmal wird der QA (oder Staging) Branch so sehr mit Experimenten überladen, dass es einfacher ist, nicht zu versuchen, alle Konflikte zu lösen, sondern ihn einfach zu einer exakten Kopie von main (master) zu machen...

Dieser Inhalt wurde automatisch aus dem Ukrainischen übersetzt.
Manchmal wird der QA (oder Staging) Branch so sehr mit Experimenten überladen, dass es einfacher ist, nicht zu versuchen, alle Konflikte zu lösen, sondern ihn einfach zu einer exakten Kopie von main (master) zu machen.
Dafür sind zwei Befehle ausreichend:
git reset --hard origin/main
git push --force-with-lease
Beispiel:
git reset --hard origin/main
HEAD ist jetzt bei 46911f2 Fixed main page search

git push --force-with-lease
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To https://github.com/username/sandbox.git
 + 53cda29...46911f2 staging -> staging (forced update)
Was passiert:
  • git reset --hard origin/main setzt den aktuellen lokalen Branch vollständig auf denselben Commit wie origin/main. Alle lokalen Commits und ungespeicherten Änderungen gehen verloren.
  • git push --force-with-lease aktualisiert den entfernten QA/Staging-Branch und macht ihn zu einer exakten Kopie von main.
Warum --force-with-lease und nicht --force?
Weil dieser Befehl etwas sicherer ist. Git überprüft, dass niemand nach Ihrem letzten Fetch neue Commits gepusht hat. Wenn sich der entfernte Branch geändert hat, wird der Push abgelehnt, anstatt stillschweigend die Arbeit anderer zu überschreiben.
⚠️ Tun Sie dies nur, wenn Sie wirklich die gesamte Geschichte des QA/Staging-Branches vollständig überschreiben möchten. Nach einem solchen Push werden alle Commits, die nicht in main sind, nicht mehr Teil dieses Branches sein.
GUI-Anwendungen wie Github Desktop zeigen diese Änderungen möglicherweise nicht an. Möglicherweise müssen Sie die Anwendung neu starten oder zwischen den Branches "springen", damit die Änderungen angezeigt werden.

🔥 Weitere Beiträge

Alle Beiträge
Was ist ORM und wozu wird es benötigt?
Programmierung (Програмування)26. Okt '25, 14:00 Uhr

Was ist ORM und wozu wird es benötigt?

Wenn wir mit Datenbanken arbeiten, müssen wir normalerweise SQL-Abfragen schreiben - Abfragen, Ei...

Was unterscheidet OAuth 1 von OAuth 2
Programmierung (Програмування)19. Okt '25, 20:34 Uhr

Was unterscheidet OAuth 1 von OAuth 2

OAuth 1 OAuth 1 wurde Anfang der 2000er Jahre als Methode zur sicheren Zugriffsgewährung für Drit...