Wie man das letzte Vergehen in Git rückgängig macht

Wie man das letzte Vergehen in Git rückgängig macht
Ein häufiger Workflow in Git ist, dass Sie Änderungen an Ihrem Projekt vornehmen, die Änderungen am Staging -Bereich hinzufügen, die Änderungen begehen, neue Änderungen vornehmen, die Änderungen festlegen, die Änderungen begehen und weiter und weiter gehen. Aber was ist, wenn Sie Ihre Änderungen fälschlicherweise begangen hätten? Fürchte dich nicht. Sie können Ihren letzten Commit in Git immer rückgängig machen. In diesem Artikel werde ich Ihnen zeigen, wie Sie den letzten Commit in Git rückgängig machen können. Also lasst uns anfangen.

Einrichten eines Test -Git -Repositorys:

In diesem Abschnitt werde ich einen meiner Github -Repository auf meinem Computer klonen, um ein Test -Repository für diesen Artikel einzurichten. Wenn Sie mitmachen möchten, können Sie dies auch tun. Wenn Sie Ihr eigenes Git -Repository zum Arbeiten haben, dann großartig! Sie können es auch verwenden.

Klonen eines meiner Github -Repository (https: // github.com/dev shovon/my-project) führen Sie den folgenden Befehl aus:

$ git klone https: // github.com/dev shovon/my-project untero_commit_demo

Das Github -Repository sollte in einkloniert werden reso_commit_demo/ Verzeichnis.

Navigieren Sie nun zur reso_commit_demo/ Verzeichnis wie folgt:

Das Commit, das Sie rückgängig machen möchten, kann in einem anderen Zweig als meinen sein. Ich möchte den letzten Komitee dessen rückgängig machen dh-fix Zweig. Also muss ich den Zweig ziehen dh-fix Aus meinem Github -Repository.

Sie können die ziehen dh-fix Zweig von Github wie folgt:

$ Git Pull Origin dh-fix

NOTIZ: Hier, dh-fix ist der Verzweigungsname.

Der dh-fix Der Zweig sollte gezogen werden.

Jetzt an die Filiale (in meinem Fall, dh-fix) von dem Sie das letzte Commit wie folgt rückgängig machen möchten:

$ git checkout dh-fix

Wie Sie sehen können, der letzte Commit der dh-fix Zweig ist AEC00F3. In den nächsten Abschnitten werde ich Ihnen Möglichkeiten zeigen, den letzten Commit in Ihrem Git -Repository rückgängig zu machen.

Letzte Verpflichtung rückgängig machen und Änderungen beibehalten:

Eine Möglichkeit, das letzte Commit rückgängig zu machen, ist der Gebrauchsweichreset in Ihrem Git -Repository. Dies ist, das letzte Commit wird entfernt und die Änderungen, die Sie in diesem Commit in den Staging -Bereich Ihres Git -Repositorys hinzugefügt haben, werden hinzugefügt. Auf diese Weise können Sie die Dateien ändern und ein neues Commit hinzufügen.

Wie Sie sehen können, ist der letzte Commit in meinem dh-fix Zweig ist AEC00F3.

$ Git -Protokoll -Einmal

Außerdem ist mein Staging -Bereich sauber.

$ Git Status

Führen Sie nun den folgenden Befehl aus, um das letzte Commit zu entfernen oder rückgängig zu machen:

$ git Reset -Soft Head ~ 1

Wie Sie sehen können, das Commit AEC00F3 ist weg.

$ Git -Protokoll -Einmal

Auch die Datei, die ich im letzten Commit geändert habe, befindet sich in meinem Staging -Bereich.

$ Git Status

Jetzt können Sie die Dateien weiter ändern, die Fehler beheben und die Änderungen erneut begehen.

Letzte Verpflichtung rückgängig machen und Änderungen entfernen:

Wenn der letzte Commit, den Sie entfernen möchten, für Sie nutzlos ist. Was harte Reset tut, ist, es entfernt den letzten Commit wie zuvor. Es entfernt aber auch alle Änderungen, die Sie im letzten Commit vorgenommen haben. Führen Sie nur einen harten Zurücksetzen durch, wenn Sie sicher sind, dass Sie nichts von dem letzten Commit benötigen.

Ich werde das ziehen dh-fix Zweig von meinem Github -Repository erneut, um das letzte Commit wiederherzustellen AEC00F3 und entfernen Sie es in diesem Abschnitt erneut.

$ Git Pull Origin dh-fix

Wie Sie sehen können, ist das letzte Commit wieder zurück. Wenn Ihr Git -Repository in einen Git -Cloud -Dienst wie GitHub hochgeladen wird, können Sie jeden Verpflichtung wiederherstellen, dass Sie auch fehlerhaft entfernen.

Wie Sie sehen können, ist mein Staging -Bereich sauber.

$ Git Status

Führen Sie nun den letzten Befehl aus, um das letzte Commit zu entfernen und die Änderungen in diesem Commit zu entfernen, den folgenden Befehl:

$ git Reset -harter Kopf ~ 1

Das letzte Commit sollte entfernt werden und die KOPF Zeiger sollte aktualisiert werden.

Wie Sie sehen können, das Commit AEC00F3 wird entfernt und das Commit unmittelbar zuvor (3fffdee) ist der aktuelle der letzte Commit.

$ Git -Protokoll -Einmal

Der Staging -Bereich ist auch sauber. Daher existieren Dateien aus dem entfernten Commit vor.

$ Git Status

Aktualisieren von Remote -Git -Repository:

Nachdem Sie das fehlerhafte Commit von Ihrem Git -Repository erfolgreich entfernt haben, möchten Sie möglicherweise auch Ihr Github -Repository aktualisieren. Dies ist das Thema dieses Abschnitts.

Wie du sehen kannst, Git -Status Zeigt auch, dass ich 1 vom Remote -Repository zurückgeführt habe.

Bevor ich mein Github -Repository aktualisiert habe, das Commit AEC00F3 existiert, obwohl ich es aus dem lokalen Git -Repository entfernt habe, wie Sie sehen können.

Führen Sie den folgenden Befehl aus:

$ Git Push-Force Origin IE-FIX

Die Änderungen des lokalen Git -Repositorys sollten mit dem Github -Repository synchronisiert werden.

Das Github -Repository sollte aktualisiert werden. Wie Sie sehen können, das Commit AEC00F3 wird nicht mehr aufgeführt. Der Commit unmittelbar zuvor AEC00F3, welches ist 3fffdee ist jetzt der letzte Commit.

So rückgängig machen Sie den letzten Vergehen in Git. Danke, dass du diesen Artikel gelesen hast.