Git Revert Commit Local

Abdul Jabbar 20 Juni 2023
  1. Commit-Änderungen rückgängig machen mit git reset
  2. Commit-Änderungen rückgängig machen mit git revert
Git Revert Commit Local

Wenn ein Softwareentwickler oder Webentwickler mit Git arbeitet, ist es offensichtlich, dass er täglich viele Codes und Commits in das Git-Repository schiebt und dabei die Notwendigkeit entsteht, einen bestimmten Commit oder eine Reihe von Commits rückgängig zu machen oder rückgängig zu machen ab und zu im Team.

In diesem Stück Block lernen wir die verfügbaren Möglichkeiten kennen, Git-Programme und -Befehle rückgängig zu machen, sobald das Commit in den lokalen Zweig durchgeführt wurde.

Dieses Dokument versucht, die Situation des von uns vorgenommenen Commits zu verstehen und welche Art von Rückgängigmachen wir machen können, um den Commit rückgängig zu machen, der noch nicht mit dem Remote-Zweig synchronisiert ist.

Bevor wir uns mit der Situation befassen, sollten wir sicherstellen, dass wir sie benötigen und die Commit-Dateien und -Informationen ändern möchten. Denn in manchen Fällen wollen wir unseren Commit nur bearbeiten, was über den Git-Befehl git amend möglich ist.

Aber wenn wir den Befehl rückgängig machen wollen, ist dieser Leitfaden der beste Ort, um mehr darüber zu erfahren. Lassen Sie uns lernen, wie Sie dies mit dem untenstehenden Git-Befehl effektiv tun.

Commit-Änderungen rückgängig machen mit git reset

Es gibt mehrere Situationen, in denen wir diesen letzten Commit rückgängig machen möchten, und der einfachste Weg, die Angelegenheit zu klären und den letzten Git-Commit rückgängig zu machen, ist die Verwendung des Befehls git reset mit dem hinzugefügten Flag --soft. Diese Funktion von Git behält Änderungen an unseren Dateien im lokalen Zweig bei.

Dazu müssen wir den Commit angeben, den wir rückgängig machen wollen, also HEAD~1; hier wollen wir den letzten Commit rückgängig machen, da es die übliche Praxis ist, dass Entwickler höchstwahrscheinlich den letzten Commit rückgängig machen müssen. Aber wir können jeden Commit erwähnen, den wir rückgängig machen möchten.

Für diese Fälle ist git reset die beste Wahl, und der Befehl ist unten aufgeführt.

$ git reset --soft HEAD~1

Durch die Option Zurücksetzen wird unser aktueller HEAD-Zweig auf die angegebene Revision projiziert und zu dem einen Commit vor der letzten Revision zurückgeführt, wodurch unser letzter Commit rückgängig gemacht wird und die Änderungen automatisch in unseren Abschnitt Dateien geändert übernommen werden.

Und mit Hilfe des Flags --soft bleiben die von uns vorgenommenen Änderungen im Dateistatusbereich erhalten und gehen nicht verloren.

Wenn wir außerdem nicht möchten, dass unsere Änderungen erhalten bleiben und wir sicher sind, dass wir sie nicht mehr benötigen, verwenden wir das Flag --hard anstelle des Flags --soft.

Dadurch werden Änderungen dauerhaft rückgängig gemacht und alles geht verloren. Um die Änderungen dauerhaft zu löschen, ist der Befehl unten.

$ git reset --hard HEAD~1

Commit-Änderungen rückgängig machen mit git revert

Der Befehl git revert wird insbesondere verwendet, um einen neuen Commit zu entwickeln, der uns hilft, die Änderungen des angegebenen Commits rückgängig zu machen. Dieser Befehl ist dafür bekannt, einen Commit vollständig rückgängig zu machen, ohne ihn zu löschen.

Wenn das Commit bereits in das Remote-Repository gepusht wurde, ist es die beste und sicherste Option, git revert zu verwenden, da es den Commit-Verlauf nicht überschreibt.

Der Befehl zum Zurücksetzen des letzten Commits ist unten.

git revert <commit to revert>

Der Name des Commits ist die commit id, die wir zurücksetzen möchten; es kann durch den Befehl von Git wiederhergestellt werden, das ist das git log. Die meisten Entwickler bevorzugen git revert gegenüber git reset, weil es die Änderungen mit Hilfe des neuen Befehls rückgängig macht, der den gleichen Undo-Vorgang durchführt.

Vorherige Commits werden nicht verworfen oder überschrieben. Während reset alle Datensätze des nicht ansprechenden Commits verwirft und auch die Commit-Historie ändert.

Nun liegt es an Ihnen, welcher Befehl für Sie in Ihrem Fall am besten geeignet ist.

Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn

Verwandter Artikel - Git Revert