Datei-Staging aufheben
Teil des Abschnitts Versionsverwaltung der Terminal-Journey von Coddy — Lektion 41 von 58.
Wenn Sie versehentlich eine Datei gestaged haben, die Sie nicht in den nächsten Commit aufnehmen wollten, können Sie das Staging mit folgendem Befehl rückgängig machen:
git restore --staged secrets.txtDas Flag --staged weist git restore an, den Staging-Bereich anstelle des Arbeitsverzeichnisses zu ändern. Der eigentliche Inhalt der Datei bleibt unverändert; nur ihr Staging-Status wird zurückgesetzt.
Nach dem Zurücknehmen aus dem Staging-Bereich zeigt git status die Datei wieder als geändert, aber nicht zum Commit vorgemerkt (modified-but-not-staged) an. Sie können dann wählen, eine andere Teilmenge vorzumerken oder die Änderung für später aufzubewahren.
Dies lässt sich gut kombinieren mit git restore filename (kein --staged), wenn Sie die Änderung komplett verwerfen möchten: zuerst das Staging aufheben, dann die Datei wiederherstellen.
Aufgabe
EinfachDer Ordner enthält die committete Datei todo.txt und die noch nicht committete Datei secrets.txt.
Stagen Sie beide Dateien und nehmen Sie dann nur secrets.txt wieder aus dem Staging-Bereich (unstage). Führen Sie git status --short aus, um das Ergebnis zu sehen.
Erwartete Ausgabe (beachten Sie die Reihenfolge): zuerst die Zeile für das Staging von todo.txt, dann die Zeile für die nicht verfolgte (untracked) Datei secrets.txt.
Spickzettel
Vormerkung einer Datei aufheben (Änderungen im Arbeitsverzeichnis beibehalten):
git restore --staged secrets.txtDas Flag --staged setzt nur den Staging-Bereich zurück; der Dateiinhalt bleibt unberührt. Ohne --staged verwirft git restore die Änderungen im Arbeitsverzeichnis vollständig.
Probier es selbst
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Versionsverwaltung
2Erste Schritte
Ein Repository initialisierenDer .git-OrdnerIdentität konfigurierenGit StatusZusammenfassung – Erstes Repo5Dateien ignorieren
Warum Dateien ignorierenGitignore-MusterIgnore-Regeln prüfenZusammenfassung – Sauberes Repo3Änderungen nachverfolgen
Die Staging AreaGit AddGit CommitÄndern einer verfolgten DateiGit LogZusammenfassung – Erste Commits6Projekt Rezept-Website
ProjektübersichtInitialisieren und Ignorieren9Änderungen rückgängig machen
Nicht gestagte Änderungen verwerfenDatei-Staging aufhebenDen letzten Commit ändern (amend)Einen Commit rückgängig machen (revert)Einen Branch zurücksetzen (reset)Zusammenfassung – Zeitmaschine