Git-Befehlsübersicht

Nächste

Git hat etwa 150 Unterbefehle und einige davon sehen gefährlich ähnlich aus, reset vs restore, checkout vs switch, rm vs restore --staged. Diese Übersicht gruppiert die Befehle, die Sie tatsächlich eingeben, nach Situation: täglicher Workflow, Branching, Fehler rückgängig machen und Stash. Wählen Sie die Gruppe und kopieren Sie den Block.

So verwenden Sie die Übersicht

  1. 1

    Wählen Sie ein Thema

    Täglich, Branching, Rückgängig oder Stash, jedes entspricht einem anderen Denkmodus.

  2. 2

    Scannen Sie den Block

    Jede Zeile ist ein vollständiger, funktionierender Befehl, keine Platzhalter in spitzen Klammern, es sei denn, sie sind ausdrücklich gekennzeichnet.

  3. 3

    Kopieren Sie den, den Sie benötigen

    Fügen Sie ihn in Ihr Terminal ein, passen Sie den Branch-Namen oder die Commit-SHA an und führen Sie ihn aus.

Warum Befehle erfahrene Benutzer immer noch verwirren

Gits Porzellan wuchs durch Akkretion. checkout wurde überladen für “Branch wechseln” und “Datei wiederherstellen”; reset sitzt zwischen “Arbeit verwerfen” und “Branch-Zeiger verschieben”. Seit Git 2.23 gibt es klarere Verben:

Alt Neu (klarer)
git checkout branch git switch branch
git checkout -b new git switch -c new
git checkout -- file git restore file
git checkout --staged file git restore --staged file

Die sichere Rückgängig-Leiter

  1. Eine Datei wiederherstellen: git restore path/to/file (nicht gestaged) oder git restore --staged path/to/file (gestaged, aber nicht committet).
  2. Den letzten Commit rückgängig machen, Änderungen behalten: git reset --soft HEAD~1.
  3. Den letzten Commit rückgängig machen, Änderungen verwerfen: git reset --hard HEAD~1 (destruktiv; überprüfen Sie, dass Sie keine uncommitteten Arbeiten haben).
  4. Einen gemeinsamen Commit zurücksetzen: git revert <sha>, erstellt einen neuen Commit, der den alten negiert; sicher bei gepushtem Verlauf.

Stash-Etikette

  • Stashen Sie immer mit einer Nachricht: git stash push -m "wip: API anbinden".
  • Listen Sie Stashes mit git stash list auf, bevor Sie sie wiederherstellen, anonyme Stashes häufen sich schnell an.
  • git stash pop wendet an und löscht; git stash apply wendet an und behält.

Wiederherstellung

Haben Sie einen Commit nach einem harten Reset verloren? Er ist wahrscheinlich noch im Reflog. Führen Sie git reflog aus, um jede HEAD-Bewegung der letzten 90 Tage zu sehen, und git reset --hard <sha> zurück zu einem guten Zustand.

Häufig gestellte Fragen

Seit Git 2.23 (August 2019) hat das Projekt das überladene Verb checkout in zwei aufgeteilt. switch wechselt die Branches, restore stellt Dateien wieder her. Beide existieren weiterhin aus Gründen der Abwärtskompatibilität, sind aber leichter zu lesen, wenn Sie die Shell-Historie erneut besuchen.

reset verschiebt den Branch-Zeiger (und optional den Arbeitsbaum). revert erstellt einen neuen Commit, der einen vorherigen rückgängig macht, sicher auf einem gemeinsamen Branch. checkout / restore ändert Dateien im Arbeitsbaum, ohne die Historie neu zu schreiben.

Verwenden Sie git revert <sha>, um einen ausgleichenden Commit hinzuzufügen und diesen zu pushen. Vermeiden Sie git reset --hard + git push --force auf gemeinsamen Branches, es sei denn, das Team hat ausdrücklich zugestimmt.

Die Befehle sind statischer Text, der in der Seite gerendert wird. Das von Ihnen gewählte Thema wird nur an den Server gesendet, um die passenden Befehle anzuzeigen, und steckt beim Wechsel zwischen den zwei Schritten im Seitenlink. Es wird weder gespeichert noch protokolliert.

Verwandte Tools

Tool in anderen Sprachen verfügbar