Einführung
🧑💻 Neuer zu Git oder LabEx? Wir empfehlen, mit dem Kurs Quick Start with Git zu beginnen.
Git ist ein leistungsstarkes Versionsverwaltungssystem, das es Entwicklern ermöglicht, Änderungen in ihrer Codebasis zu verfolgen. Eine der gängigen Aufgaben in Git besteht darin, eine Datei aus dem letzten Commit zu entfernen. Dies kann nützlich sein, wenn Sie versehentlich eine Datei zum letzten Commit hinzugefügt haben, die Sie nicht einschließen wollten.
Entfernen einer Datei aus dem letzten Commit
Sie haben einer Datei zum letzten Commit hinzugefügt, die Sie nicht einschließen wollten. Sie möchten die Datei aus dem letzten Commit entfernen, ohne die Commit-Nachricht zu ändern.
Für diese Übung verwenden wir das Repository von https://github.com/labex-labs/git-playground. Nehmen wir an, Sie haben ein Git-Repository namens git-playground mit einer Datei namens file2.txt, die Sie versehentlich zum letzten Commit hinzugefügt haben. Hier sind die Schritte, um die Datei aus dem letzten Commit zu entfernen:
- Klonen Sie das Repository, navigieren Sie zum Verzeichnis und konfigurieren Sie die Identität:
git clone https://github.com/labex-labs/git-playground
cd git-playground
git config --global user.name "your-username"
git config --global user.email "your-email"
- Verwenden Sie
git rm --cached <file>, um die angegebene<file>aus dem Index zu entfernen:
git rm --cached file2.txt
- Verwenden Sie
git commit --amend, um den Inhalt des letzten Commits zu aktualisieren, ohne die Commit-Nachricht zu ändern:
git commit --amend --allow-empty
Wenn der Commit nach dem Löschen der Datei ein leerer Commit ist, verwenden Sie --allow-empty, andernfalls können Sie es weglassen.
Nach Ausführung dieser Befehle wird die Datei file2.txt aus dem letzten Commit entfernt, ohne die Commit-Nachricht zu ändern.
Dies ist, was passiert, wenn Sie file2.txt aus der Git-Versionskontrolle entfernen:
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
deleted: file2.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
file2.txt
Zusammenfassung
Das Entfernen einer Datei aus dem letzten Commit kann eine nützliche Fähigkeit sein, wenn Sie mit Git arbeiten. Mit den Befehlen git rm --cached <file> und git commit --amend können Sie eine Datei leicht aus dem letzten Commit entfernen, ohne die Commit-Nachricht zu ändern.