Wie man Änderungen von einem Git-Stash zu einem anderen verschiebt

GitGitBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Git Stash ist eine leistungsstarke Funktion, die es Ihnen ermöglicht, Ihre lokalen Änderungen temporär zu speichern, ohne sie zu committen. In diesem Tutorial lernen Sie, wie Sie Ihre gesicherten Änderungen von einem Stash in einen anderen verschieben, was Ihnen ermöglicht, Ihre Git-Arbeitsweise besser zu organisieren und zu verwalten.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/DataManagementGroup(["Data Management"]) git(("Git")) -.-> git/CollaborationandSharingGroup(["Collaboration and Sharing"]) git/DataManagementGroup -.-> git/stash("Save Changes Temporarily") git/DataManagementGroup -.-> git/restore("Revert Files") git/CollaborationandSharingGroup -.-> git/pull("Update & Merge") git/CollaborationandSharingGroup -.-> git/push("Update Remote") git/CollaborationandSharingGroup -.-> git/remote("Manage Remotes") subgraph Lab Skills git/stash -.-> lab-415014{{"Wie man Änderungen von einem Git-Stash zu einem anderen verschiebt"}} git/restore -.-> lab-415014{{"Wie man Änderungen von einem Git-Stash zu einem anderen verschiebt"}} git/pull -.-> lab-415014{{"Wie man Änderungen von einem Git-Stash zu einem anderen verschiebt"}} git/push -.-> lab-415014{{"Wie man Änderungen von einem Git-Stash zu einem anderen verschiebt"}} git/remote -.-> lab-415014{{"Wie man Änderungen von einem Git-Stash zu einem anderen verschiebt"}} end

Das Verständnis von Git Stash

Was ist Git Stash?

Git Stash ist eine leistungsstarke Funktion in Git, die es Ihnen ermöglicht, Ihre lokalen Änderungen temporär zu speichern, ohne sie zu committen. Dies ist besonders nützlich, wenn Sie zu einer anderen Branch wechseln müssen oder die neuesten Änderungen aus einem Remote-Repository ziehen möchten, aber Sie die Arbeit, die Sie an Ihrer aktuellen Branch durchgeführt haben, nicht verlieren möchten.

Wann sollte man Git Stash verwenden?

Sie können Git Stash in den folgenden Szenarien verwenden:

  • Wechseln von Branches: Wenn Sie zu einer anderen Branch wechseln müssen, aber Sie lokale Änderungen haben, die Sie noch nicht committen möchten.
  • Ziehen von Updates: Wenn Sie die neuesten Änderungen aus einem Remote-Repository ziehen müssen, aber Sie lokale Änderungen haben, die Sie noch nicht committen möchten.
  • Experimentieren mit Code: Wenn Sie eine neue Funktion testen oder mit etwas Code experimentieren möchten, aber Sie Ihre Änderungen erst committen möchten, wenn Sie mit dem Ergebnis zufrieden sind.

Wie wird Git Stash verwendet?

Um Git Stash zu verwenden, können Sie die folgenden Schritte ausführen:

  1. Speichern Sie Ihre Änderungen: Führen Sie den folgenden Befehl aus, um Ihre lokalen Änderungen im Stash zu speichern:
    git stash
  2. Wechseln Sie zu einer anderen Branch: Jetzt können Sie zu einer anderen Branch wechseln oder die neuesten Änderungen aus dem Remote-Repository ziehen.
  3. Rufen Sie Ihre gesicherten Änderungen ab: Wenn Sie bereit sind, zu Ihrer vorherigen Arbeit zurückzukehren, können Sie die gesicherten Änderungen mit dem folgenden Befehl anwenden:
    git stash apply
    Dies wird die neueste Stashanwendung auf Ihre aktuelle Branch anwenden.

Stash-Verwaltung

Git Stash bietet mehrere Befehle, um Ihnen dabei zu helfen, Ihre gesicherten Änderungen zu verwalten:

  • git stash list: Listet alle Stashes, die Sie erstellt haben.
  • git stash show: Zeigt die Änderungen an, die in einem bestimmten Stash vorgenommen wurden.
  • git stash drop: Entfernt einen bestimmten Stash aus der Liste.
  • git stash clear: Entfernt alle Stashes aus der Liste.

Indem Sie die Grundlagen von Git Stash verstehen, können Sie Ihre lokalen Änderungen effektiv verwalten und zwischen verschiedenen Aufgaben oder Branches wechseln, ohne Ihre Arbeit zu verlieren.

Übertragen von gesicherten Änderungen

Verschieben von gesicherten Änderungen zu einer anderen Branch

Manchmal möchten Sie Ihre gesicherten Änderungen auf eine andere Branch verschieben. Dies kann nützlich sein, wenn Sie einige Änderungen gesichert haben, aber erkennen, dass diese Änderungen auf eine andere Branch angewendet werden sollten. Hier ist, wie Sie es tun können:

  1. Speichern Sie Ihre Änderungen:
    git stash
  2. Wechseln Sie zur Ziel-Branch:
    git checkout target-branch
  3. Wenden Sie die gesicherten Änderungen auf die Ziel-Branch an:
    git stash apply

Jetzt wurden Ihre gesicherten Änderungen auf die Ziel-Branch übertragen.

Anwenden von gesicherten Änderungen auf mehrere Branches

Sie können auch Ihre gesicherten Änderungen auf mehrere Branches anwenden. Dies kann nützlich sein, wenn Sie eine Reihe von Änderungen haben, die Sie auf mehrere Branches anwenden möchten.

  1. Speichern Sie Ihre Änderungen:
    git stash
  2. Wenden Sie die gesicherten Änderungen auf die erste Branch an:
    git checkout branch1
    git stash apply
  3. Wenden Sie die gesicherten Änderungen auf die zweite Branch an:
    git checkout branch2
    git stash apply
  4. Wiederholen Sie Schritt 3 für alle weiteren Branches, auf die Sie die Änderungen anwenden möchten.

Übertragen von gesicherten Änderungen mit Konflikten

Wenn Konflikte auftreten, wenn Sie die gesicherten Änderungen auf eine andere Branch anwenden, können Sie sie manuell auflösen. Hier ist, wie:

  1. Speichern Sie Ihre Änderungen:
    git stash
  2. Wechseln Sie zur Ziel-Branch:
    git checkout target-branch
  3. Wenden Sie die gesicherten Änderungen an:
    git stash apply
  4. Lösen Sie alle auftretenden Konflikte auf, und fügen Sie dann die aufgelösten Dateien hinzu:
    git add resolved-file1 resolved-file2
  5. Fortsetzen Sie die Stash-Anwendung:
    git stash apply --continue

Indem Sie verstehen, wie Sie gesicherte Änderungen zwischen Branches übertragen, können Sie Ihren Workflow effektiv verwalten und sicherstellen, dass Ihre Änderungen an der richtigen Stelle angewendet werden.

Praktische Stash-Verwaltung

Stash-Nennung und -Referenzierung

Wenn Sie Ihre Änderungen sichern, weist Git automatisch jeder Stash eine eindeutige Kennung zu. Sie können jedoch auch Ihren Stashes beschreibendere Namen geben, um sie besser verfolgen zu können. Hier ist, wie:

git stash save "My feature changes"

Sie können dann auf Ihre Stashes über ihren Index oder den benutzerdefinierten Namen verweisen, den Sie zugewiesen haben:

git stash apply stash@{2}
git stash apply "My feature changes"

Stash-Branching

Git Stash ermöglicht es Ihnen auch, eine neue Branch aus einer gesicherten Änderung zu erstellen. Dies kann nützlich sein, wenn Sie an einer bestimmten Gruppe von Änderungen isoliert arbeiten möchten. Hier ist, wie:

git stash branch new-feature

Dieser Befehl erstellt eine neue Branch mit dem Namen new-feature und wendet die neueste Stash-Anwendung auf sie an.

Stash-Reinigung

Während Sie arbeiten, kann Ihre Stash-Liste schnell unübersichtlich werden. Um Ihre Stashes organisiert zu halten, können Sie die folgenden Befehle verwenden:

git stash list  ## Listet alle Stashes
git stash drop stash@{0}  ## Entfernt die neueste Stash
git stash clear  ## Entfernt alle Stashes

Zusätzlich können Sie Git konfigurieren, um alte Stashes automatisch zu bereinigen:

git config --global stash.autoStash true
git config --global stash.maxStashSize 10

Diese Einstellungen werden automatisch Ihre Änderungen sichern, bevor ein Merge oder Rebase durchgeführt wird, und es werden maximal 10 Stashes in der Liste gespeichert.

Indem Sie diese praktischen Stash-Verwaltungstechniken beherrschen, können Sie Ihren Git-Workflow organisiert und effizient halten und sicherstellen, dass Ihre Änderungen leicht zugänglich und verwaltbar sind.

Zusammenfassung

Am Ende dieses Leitfadens werden Sie das Funktionieren von Git Stash gut verstehen und in der Lage sein, Ihre Änderungen effizient zwischen verschiedenen Stashes zu übertragen. Dieses Wissen wird Ihnen helfen, ein sauberes und strukturiertes Git-Repository zu halten, was die Zusammenarbeit, die Überprüfung und die Verwaltung der Versionskontrolle Ihres Projekts erleichtert.