Fortgeschrittene Tools: Rebase, Stash, Cherry-Pick und Tags
Lernen Sie die Werkzeuge kennen, die einen erfahrenen Git-Benutzer von einem Anfänger unterscheiden. Wir erkunden Rebase als Alternative zu Merge – wann es die Historie übersichtlicher macht und wann es zum Albtraum werden kann. Entdecken Sie Stash zum schnellen Zwischenspeichern unvollendeter Arbeit, Cherry-Pick zum gezielten Übertragen von Commits und Tags zur Markierung von Releases.
- Sie können git stash verwenden, um zwischen Aufgaben zu wechseln, ohne Änderungen zu verlieren.
- Sie verstehen den Unterschied zwischen Rebase und Merge und können je nach Kontext bewusst zwischen ihnen wählen.
- Sie lernen, wie Sie mit interaktivem Rebase die Commit-Historie bearbeiten und Release-Versionen mit Tags markieren können.
Phần đầu bài giảng
Problem: Wie legt man unfertige Arbeit zur Seite?
- Ein plötzlicher Bugfix unterbricht Ihre Arbeit
- Unfertiger Code darf nicht eingecheckt werden
- Git stash – temporärer Speicher für Änderungen
- Speichert sowohl getrackte als auch ungetrackte Dateien
- Bringt das Arbeitsverzeichnis in einen sauberen Zustand
Stellen Sie sich vor: Sie mitten in der Arbeit an einem neuen Feature, als ein dringender Bugfix reinkommt. Die halbfertige Arbeit wegzuwerfen ist keine Option, aber den unfertigen Code einzuchecken auch nicht. Genau für solche Situationen gibt es git stash – Ihr digitaler Ablageplatz. Es ist wie eine Pausetaste im Spiel: Der aktuelle Stand wird gesichert, und Sie können sich anderen Dingen widmen. Wenn Sie zurückkehren, ist alles genau so, wie Sie es hinterlassen haben, einschließlich ungetrackter Dateien, wenn Sie das Flag -u nicht vergessen. Das bewahrt Sie davor, mehrere Aufgaben gleichzeitig im Kopf behalten zu müssen.
Änderungen speichern und einsehen
- git stash save – speichert Änderungen im Stash
- git stash list – zeigt die Liste der gespeicherten Änderungen
- Jeder Stash erhält eine eindeutige ID
- stash@{0} – die zuletzt gespeicherte Änderung
- Der Stash speichert den Zustand des Arbeitsverzeichnisses
Lassen Sie uns die praktische Arbeit mit git stash betrachten. Der Befehl git stash save sichert alle Änderungen im Arbeitsverzeichnis und die indizierten Dateien und bringt Sie in einen sauberen Zustand zurück. Ihre Arbeit geht nicht verloren – sie wird in einem speziellen Speicher abgelegt. Um zu überprüfen, ob die Änderungen gespeichert wurden, führen Sie git stash list aus. Sie sehen eine Liste aller zurückgestellten Aufgaben mit eindeutigen IDs wie stash@null. Dies ist besonders praktisch, wenn Sie schnell zwischen Aufgaben wechseln müssen, ohne den Fortschritt zu verlieren.
# Aktuelle Änderungen speichern
git stash save "WIP: Neues Login-Formular"
# Liste der gespeicherten Änderungen prüfen
git stash list
# Inhalt des letzten Stash anzeigen
git stash show -p
Zurückgespeicherte Änderungen wiederherstellen
- git stash pop — wendet den letzten Stash an und löscht ihn
- git stash apply — wendet an ohne zu löschen
- Konflikte bei Codeänderungen möglich
- Konflikte müssen manuell gelöst werden
- stash@{n} — Zugriff auf bestimmten Stash
Wenn es Zeit ist, zu den zwischengespeicherten Änderungen zurückzukehren, haben Sie zwei Möglichkeiten. Der Befehl git stash pop wendet die zuletzt gespeicherten Änderungen an und entfernt sie aus der Stash-Liste. Wenn Sie die Änderungen nur ansehen oder mehrfach anwenden möchten, verwenden Sie git stash apply – die Änderungen bleiben im Stash erhalten. Wichtig: Wenn sich der Code seit dem Speichern des Stash geändert hat, können Konflikte auftreten. In diesem Fall wird Git Sie über das Problem informieren und Sie müssen die Konflikte manuell beheben.
# Zuletzt gespeicherte Änderungen wiederherstellen
git stash pop
# ODER anwenden ohne zu löschen
git stash apply
# Bestimmten Stash nach Index anwenden
git stash apply stash@{1}
Bài giảng đầy đủ dành cho thuê bao
Còn 25 slide nữa trong phiên bản đầy đủ.
Video, toàn bộ slide, ghi chú, bài kiểm tra, gia sư AI và phỏng vấn sẽ mở sau khi đăng nhập và đăng ký thuê bao.
Đăng nhập hoặc đăng ký Đăng ký thuê baoNội dung bài giảng
- Problem: Wie legt man unfertige Arbeit zur Seite?
- Änderungen speichern und einsehen
- Zurückgespeicherte Änderungen wiederherstellen
- Wann Stash schaden kann
- Wie Branch-Zusammenführung funktioniert
- Rebase: Commit-Historie umschreiben
- Wann man was verwendet: Praktische Szenarien
- Gefahren von Rebase: Was schiefgehen kann
- Was ist Rebase und wofür wird es benötigt?
- Rebase durchführen: Schritt-für-Schritt-Anleitung
- Konflikte beim Rebase lösen
- Interaktiver Rebase: Ihr Commit-Historie-Editor
- Wichtige Befehle des interaktiven Rebases
- Praxis: Die perfekte Historie erstellen
- Achtung: Änderung der veröffentlichten Historie
- Warum man keine gemeinsamen Branches rebasen sollte
- Rettung aus einem gescheiterten Rebase
- Sicheres Ändern der Historie
- Wofür man cherry-pick in Git braucht
- Wie man git cherry-pick verwendet
- Wann man wählt: cherry-pick vs merge vs rebase
- Git-Tags: Lesezeichen für wichtige Commits
- Annotierte und leichte Tags erstellen
- Tags im Remote-Repository veröffentlichen
- Szenario: Hotfix mitten in der Entwicklung
- Integration von Änderungen mit Rebase und Cherry-Pick
- Häufige Fehler und wie man sie vermeidet
- Zusammenfassung: Ihr neues Git-Meister-Arsenal
Bài viết liên quan đến bài học này
- git rebase: cách hoạt động, chế độ tương tác và gộp commit
- Lệnh Git: bảng tra cứu với ví dụ dùng hằng ngày
- Git merge và rebase: nên chọn cái nào cho nhóm
- git stash: cách cất tạm thay đổi và lấy lại
- Câu hỏi về Git khi phỏng vấn: 25 câu hỏi và đáp án
Tất cả bài giảng của khóa học
- Einführung: Git vom Anfänger zum sicheren Entwickler
- Wofür braucht man eigentlich Git – und warum bekommt man ohne es keinen Job?
- Installation und Einrichtung: Git für den ersten Start vorbereiten
- Erstes Repository: init, add, commit und die Magie des Index
- Versionsgeschichte verstehen: Log, Diff, Show und Navigation durch die Vergangenheit
- Branches: Die parallele Realität Ihres Codes
- Fehler rückgängig machen: restore, reset, revert – richtig und gefährlich
- GitHub und Remote-Repositories: Ihr Code in der Cloud
- Teamarbeit: Forks, Feature-Branches und Pull-Requests
- Merge-Konflikte: Keine Panik – Verstehen und Lösen
- Git-Prozesse in realen Teams: Welchen Workflow soll man wählen?
- Fortgeschrittene Tools: Rebase, Stash, Cherry-Pick und Tags
- Abschlussprojekt: Simulation einer echten Team-Entwicklung