Ich denke, Sie wurden wahrscheinlich mit dem Konzept des Index verwechselt , wie @CB Bailey kommentierte:
Der Staging-Bereich ist der Index.
Sie können Staging-Verzeichnis und -Index einfach als dasselbe betrachten.
Also, genau wie die Antwort von @Tim Henigan , denke ich:
Sie möchten einfach das rückgängig machen git add
, was für diese Datei gemacht wurde.
Hier ist meine Antwort:
Üblicherweise gibt es zwei Möglichkeiten , um eine rückgängig zu machen Stufe Betrieb, wie andere Antworten bereits erwähnt:
git reset HEAD <file>
und
git rm --cached <file>
Aber was ist der Unterschied?
Angenommen, die Datei wurde bereitgestellt und befindet sich auch im Arbeitsverzeichnis . Verwenden git rm --cached <file>
Sie diese Option, wenn Sie sie aus dem Bereitstellungsverzeichnis entfernen möchten , und behalten Sie die Datei im Arbeitsverzeichnis . Beachten Sie aber , dass dieser Vorgang wird nicht nur die Datei aus entfernen Staging - Verzeichnis , sondern markiert auch die Datei als deleted
in Verzeichnis staging , wenn Sie verwenden
git status
Nach dieser Operation sehen Sie Folgendes:
deleted: <file>
Es ist eine Aufzeichnung des Entfernens der Datei aus dem Staging-Verzeichnis . Wenn Sie diese Aufzeichnung nicht aufbewahren und einfach einen Vorgang einer Datei in der vorherigen Phase rückgängig machen möchten, verwenden Siegit reset HEAD <file>
stattdessen.
-------- ENDE DER ANTWORT --------
PS: Ich habe einige Antworten bemerkt, die erwähnt wurden:
git checkout -- <file>
Dieser Befehl gilt für Situationen, in denen die Datei bereitgestellt wurde, die Datei jedoch nach dem Bereitstellen im Arbeitsverzeichnis geändert wurde. Verwenden Sie diesen Vorgang, um die Datei im Arbeitsverzeichnis aus dem Bereitstellungsverzeichnis wiederherzustellen . Mit anderen Worten, nach diesem Vorgang treten Änderungen in Ihrem Arbeitsverzeichnis auf , NICHT in Ihrem Staging-Verzeichnis .