Heim  >  Artikel  >  Entwicklungswerkzeuge  >  Wie kann ich eine Dateiänderung in Git abbrechen? Wie storniere ich eine Einreichung?

Wie kann ich eine Dateiänderung in Git abbrechen? Wie storniere ich eine Einreichung?

PHPz
PHPzOriginal
2023-04-03 09:21:483977Durchsuche

Als Entwickler ist die Verwendung von Git unerlässlich. In Git stoßen wir oft auf Situationen, in denen wir Dateiänderungen abbrechen oder Commits rückgängig machen müssen. Obwohl Sie Dateiänderungen rückgängig machen können, indem Sie die Datei manuell ändern oder die Befehlszeile verwenden, bietet Git uns einige sehr praktische Möglichkeiten, mit diesen Situationen umzugehen.

In diesem Artikel erfahren Sie im Detail, wie Sie mit Git Dateiänderungen abbrechen und Commits rückgängig machen.

Git Dateiänderungen abbrechen

Situation 1: Die Datei wird nicht zum Staging-Bereich hinzugefügt

Wenn Sie Änderungen an einer Datei vornehmen, diese aber nicht zum Git-Staging-Bereich hinzugefügt haben, ist es sehr einfach, die Änderungen abzubrechen. Sie können den folgenden Befehl verwenden, um Änderungen an einer Datei rückgängig zu machen:

git checkout -- <file>

Dieser Befehl stellt die Datei in ihrem zuletzt übermittelten Zustand wieder her. Wenn Sie beispielsweise eine Datei mit dem Namen test.txt bearbeiten und Änderungen daran vorgenommen haben, können Sie die Änderungen mit dem folgenden Befehl verwerfen: test.txt 的文件,并且已经对其进行了修改,那么可以使用以下命令来取消修改:

git checkout -- test.txt

这样就可以将 test.txt 文件恢复到最近一次提交时的状态。

情况二:文件已添加到暂存区

如果你已经将文件添加到了 Git 的暂存区,那么取消修改要稍微麻烦一些。你需要使用以下两个命令:

git reset HEAD 
git checkout -- <file>

第一个命令会将文件从 Git 的暂存区移除,第二个命令则是将文件恢复到最近一次提交的状态。例如,如果你已经将 test.txt 文件添加到了 Git 的暂存区,并对其进行了修改,那么可以使用以下命令来取消修改:

git reset HEAD test.txt
git checkout -- test.txt

这两条命令的顺序非常重要。如果先使用 git checkout -- test.txt 命令,那么 Git 会将文件恢复到最近一次提交的状态,忽略你之前在暂存区所做出的修改。

情况三:文件已提交

如果你已经将一个文件提交到了 Git,那么撤销修改就需要用到 git revert 命令了。这个命令会创建一个新的提交,该提交会取消之前的提交。例如,如果你在 master 分支上提交了一个名为 test.txt 的文件,并对其进行了修改,那么可以使用以下命令来撤销该次提交:

git revert HEAD

这条命令会打开一个编辑器,让你输入关于这个提交的撤销信息。如果你想直接提交,可以使用以下命令:

git revert --no-edit HEAD

这样就会直接提交撤销。

撤销提交

有时候,你会意识到你提交的代码存在问题,或者你不想将其添加到版本控制中。在这种情况下,你需要撤销提交。

情况一:还未推送至远程仓库

如果你在本地提交了代码,但还未将其推送至远程仓库,那么可以使用以下命令来撤销提交:

git reset HEAD~1

这条命令会将最近的一次提交撤销,并将代码恢复到上一次提交的状态。

情况二:已经推送至远程仓库

如果你已经将代码推送至远程仓库,那么可以使用以下命令来撤销提交:

git revert <commit_id>

其中,<commit_id>rrreee

Dies ersetzt test The Die .txt-Datei wird in ihrem letzten Commit-Status wiederhergestellt.

Situation 2: Die Datei wurde zum Staging-Bereich hinzugefügt

Wenn Sie die Datei zum Git-Staging-Bereich hinzugefügt haben, ist es etwas schwieriger, die Änderung abzubrechen. Sie müssen die folgenden zwei Befehle verwenden: 🎜rrreee🎜Der erste Befehl entfernt die Datei aus dem Git-Staging-Bereich und der zweite Befehl stellt die Datei auf den neuesten Commit-Status zurück. Wenn Sie beispielsweise die Datei test.txt zum Git-Staging-Bereich hinzugefügt und geändert haben, können Sie die Änderung mit dem folgenden Befehl abbrechen: 🎜rrreee🎜Die Reihenfolge dieser beiden Befehle ist sehr wichtig . Wenn Sie zuerst den Befehl git checkout -- test.txt verwenden, stellt Git die Datei im zuletzt übermittelten Zustand wieder her und ignoriert dabei die Änderungen, die Sie im Staging-Bereich vorgenommen haben. 🎜🎜Situation 3: Die Datei wurde übermittelt🎜🎜Wenn Sie eine Datei an Git übermittelt haben, müssen Sie den Befehl git revert verwenden, um die Änderungen rückgängig zu machen. Dieser Befehl erstellt einen neuen Commit, der den vorherigen Commit abbricht. Wenn Sie beispielsweise eine Datei mit dem Namen test.txt im Zweig master übermittelt und geändert haben, können Sie die Übermittlung mit dem folgenden Befehl rückgängig machen:🎜rrreee🎜Dieser Befehl öffnet einen Editor, in dem Sie Widerrufsinformationen zu diesem Commit eingeben können. Wenn Sie den Widerruf direkt übermitteln möchten, können Sie den folgenden Befehl verwenden: 🎜rrreee🎜Dadurch wird der Widerruf direkt übermittelt. 🎜🎜Commit rückgängig machen🎜🎜Manchmal stellen Sie fest, dass ein Problem mit dem von Ihnen festgeschriebenen Code vorliegt oder dass Sie ihn nicht zur Versionskontrolle hinzufügen möchten. In diesem Fall müssen Sie den Commit rückgängig machen. 🎜🎜Situation 1: Noch nicht in das Remote-Repository übertragen🎜🎜Wenn Sie den Code lokal übermittelt, ihn aber nicht in das Remote-Repository übertragen haben, können Sie die Übermittlung mit dem folgenden Befehl rückgängig machen: 🎜rrreee🎜Dieser Befehl löscht den last Einen Commit rückgängig machen und den Code auf den Zustand des letzten Commits zurücksetzen. 🎜🎜Szenario 2: Bereits in das Remote-Repository übertragen🎜🎜Wenn Sie den Code in das Remote-Repository übertragen haben, können Sie den Commit mit dem folgenden Befehl rückgängig machen: 🎜rrreee🎜Daunter <commit_id> code> ist das, was Sie wollen. Die Kennung des Commits, der widerrufen werden soll. Dieser Befehl erstellt einen neuen Commit und bricht den darin angegebenen Commit ab. 🎜🎜Fazit🎜🎜Git bietet eine sehr praktische Möglichkeit, Dateiänderungen abzubrechen und Commits rückgängig zu machen. Mit den in diesem Artikel beschriebenen Befehlen können Sie diese Situationen problemlos bewältigen. Natürlich müssen wir auch bei der Verwendung dieser Befehle sehr vorsichtig sein, um Fehlbedienungen zu vermeiden. 🎜

Das obige ist der detaillierte Inhalt vonWie kann ich eine Dateiänderung in Git abbrechen? Wie storniere ich eine Einreichung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Was ist GUI in Git?Nächster Artikel:Was ist GUI in Git?