Heim  >  Artikel  >  Entwicklungswerkzeuge  >  Wie führt GIT ein Rollback auf einen Commit durch?

Wie führt GIT ein Rollback auf einen Commit durch?

Guanhui
Guanhuinach vorne
2020-07-23 17:57:1812741Durchsuche

Wie führt GIT ein Rollback auf einen Commit durch?

Vorwort

Bei der Arbeit, der Einsatz von Git Kommt immer häufiger vor. . Zusätzlich zu den am häufigsten verwendeten Befehlen clone, add, commit, push, pull und anderen Befehlen gibt es auch einen Rollback-Befehl reset. In diesem Blog wird die einfache Verwendung dieses Rollback-Befehls aufgezeichnet.

Szenario

Denn während des Entwicklungsprozesses des Unternehmens wird die Nachrichtenwarteschlange MQ von Alibaba Cloud bei der Bearbeitung von Bestellungen, zeitlich begrenzten Einkäufen und anderen Geschäften verwendet. realisiert. Oder die Interaktion zwischen den beiden Systemen, zum Beispiel die Synchronisierung von Informationen, wenn der Benutzer eine Bestellung auf 支付系统A aufgibt (die Zahlung ist erfolgreich). Zu diesem Zeitpunkt sendet 支付系统A zusätzlich zur Bearbeitung der Bestellung auch eine Nachricht an 库存系统B um zu informieren 库存系统BUm den Lagerbestand der bestellten Produkte zu reduzieren.

Wenn ich das Projekt lokal ausführe und nicht auskommentiere 监听器, werden die Nachrichten auf dem Testserver möglicherweise auch an meinen lokalen Computer gesendet, wodurch die Nachricht verloren geht.
Dann~~ habe ich den lokalen Listener-Code auskommentiert, um Testern das Testen auf dem Testserver zu erleichtern. Kommentieren Sie den Code wie unten gezeigt aus:

Haha~~ Nachdem ich ihn auskommentiert habe, habe ich ihn zusammen eingereicht, als ich ihn eingereicht habe! Wie peinlich! Der Tester hat einen Fehler gemeldet!

Wenn ich mir den Code-Übermittlungsverlauf ansehe, wurde der Nachrichten-Listener von mir auskommentiert. Ich werde die Schuld auf mich nehmen! (lacht und weint)

Lösen Sie das Problem

Ups. . . Was ich oben gesagt habe, scheint nicht ganz mit dem Thema dieses Artikels übereinzustimmen.

Tatsächlich habe ich versehentlich Code übermittelt, der nicht an die lokale Klasse übermittelt werden sollte. Die TaskListener-Klasse konnte beispielsweise nicht übermittelt werden, nachdem sie versehentlich an die übergeben wurde lokal (es wurde noch nicht auf remote übertragen).

Es ist möglich, dass Sie sich vor Ort mehrfach verpflichtet haben.

1. Überprüfen Sie zunächst das Commit-Protokoll und führen Sie den folgenden Befehl aus


2. Machen Sie einen Rollback und brechen Sie den vorherigen Commit ab


Hier gehen wir davon aus, dass wir auf die

-Version zurücksetzen und alle Commits in dieser Version und später abbrechen sollten. 239afed0857cc2e77c17c01014077808619af64d

git log

3.ok, Sie können erneut einreichen

git reset --hard commit_id  
 //退到/进到 指定commit的sha码 commit_id:239afed0857cc2e77c17c01014077808619af64d

IDEA RESET

Sie können IDEA auch direkt verwenden

Funktion: Verwenden Sie zuerst Reset Head, um das Rollback von git log zu erhalten, und führen Sie dann den folgenden Screenshot aus. Sie können es zuerst überprüfen und sehen, ob Sie diese Einreichung über commit_id finden können. commit_id


Zusammenfassung

Entwicklung Während des Prozesses werden Sie immer versehentlich einige Dokumente einreichen, die nicht eingereicht werden können. . Wenn Sie IDEA für die Entwicklung verwenden, können Sie sich diese Funktion von IDEA ansehen – sie ist praktisch und Sie müssen sich keine Sorgen mehr machen, dass Sie die falsche Einreichung einreichen.

Empfohlenes Tutorial: „

Git-Tutorial

Das obige ist der detaillierte Inhalt vonWie führt GIT ein Rollback auf einen Commit durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:jb51.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen