Methode: 1. Verwenden Sie den Befehl „git commit --amend“, um den Verlaufsdatensatz einmal zu ändern. 2. Verwenden Sie den Befehl „git rebase -i specite commit number“, um mehrere Verlaufsdatensätze zu ändern. Der Befehl branch --filer „Befehl geänderter Bereich“ schreibt den Verlauf neu.
Die Betriebsumgebung dieses Artikels: Windows 10-System, Git-Version 2.30.0, Dell G3-Computer. So ändern Sie den Git-Verlauf Nachdem dieser Befehl ausgeführt wurde, entfernt er das vorherige Commit aus dem aktuellen Zweig, stellt den Arbeitsbereich in dem Zustand wieder her, in dem er zuletzt für die Übermittlung vorbereitet wurde (während die Änderungen nach dem letzten Commit gemischt werden) und zeigt dann eine VIM-Schnittstelle für Sie an und ändern Sie die letzten Commit-Informationen. Nach dem Speichern in vim werden alle aktuellen Änderungen mit neuen Übermittlungsinformationen übermittelt.
Dieser Befehl kann nur den letzten Commit ändern. Ein Befehl entspricht der Ausführung der folgenden Reihe von Aktionen:
$ORIG_HEAD=`git show`#保存当前的这次提交的 commit 号 $git reset --soft HEAD^#回到最后一次提交准备提交前的状态 $...#做一些操作和修改 $git commit -c $ORIG_HEAD#表示用最后一次提交的提交信息来做为提交信息,不过会调出编辑器界面
Der vorherige Git-Commit --amend kann nur den letzten Commit ändern, aber wann Aus einer Laune heraus kann uns dieser Befehl nicht retten, wenn unsere Hände deaktiviert sind. Zu diesem Zeitpunkt müssen wir das Killer-Tool git rebase -i verwenden, um diese unerträglichen Ereignisse der Vergangenheit zu ändern.Eigentlich ist git rebase -i kein Befehl, der speziell zum Ändern von Verlaufsdatensätzen verwendet wird, sondern ein Befehl, mit dem wir Rebase-Vorgänge interaktiv (dh einzeln) ausführen können. Wir können diesen Befehl jedoch verwenden, um dies zu erreichen Für Änderungen zur Commit-Historie.
Die Methode zur Verwendung dieses Befehls ist git rebase -i Sie können beispielsweise git rebase -i HEAD~3 verwenden, um drei Übermittlungen zu ändern: diese Übermittlung, die letzte Übermittlung und die vorherige Übermittlung.
Wenn ich diese drei Änderungen übermittle und git rebase -i HEAD~3 eingebe, wird wie im Bild gezeigt die folgende Schnittstelle angezeigt:
Dies ist die Schnittstelle eines VIM-Editors Beim Bearbeiten dieses Skripts können die sechs Befehle in den Kommentaren unten verwendet werden. Nachdem Sie die Seite verlassen haben, auf der Sie sie gerade bearbeiten, führt Git gemäß diesem Skript nacheinander entsprechende Vorgänge für die Einreichungen aus (beginnend mit der frühesten Einreichung).
Wenn Sie nur die Festschreibungsinformationen ändern möchten, ändern Sie alle Auswahl in r, dann: wq Speichern, dann können Sie sie mit Git einzeln ändern, beginnend mit den frühesten Festschreibungsinformationen.
Unter den verbleibenden Befehlen öffnet sich beim Ändern der entsprechenden Übermittlung der HEAD-Zeiger. Zu diesem Zeitpunkt können Sie git commit --amend verwenden, um verschiedene Änderungen daran vorzunehmen Wenn Sie die Übermittlung durchführen, wird git rebase --continue mit dem nächsten Vorgang fortfahren. s führt diese Übermittlung und ihre übergeordnete Übermittlung zu einer Übermittlung zusammen. F ähnelt s, ignoriert jedoch die Informationen der aktuellen Übermittlung Verwenden Sie die Informationen der übergeordneten Übermittlung. x erfordert die Eingabe des Befehls nach x und die anschließende Ausführung, wenn HEAD auf diese Übermittlung zeigt. Diese Befehle können auch verwendet werden, um Übermittlungen neu anzuordnen und Übermittlungen aufzuteilen.
Der ultimative Killer-Git-Filterzweig
Angenommen, nachdem wir N-mal eingereicht hatten, stellten wir plötzlich fest, dass die E-Mail-Adressen unserer Einsendungen alle falsch waren (╯°□°)╯︵ ┻━┻, zu diesem Zeitpunkt, Wenn Sie es vorher verwenden, werden die genannten Befehle wahrscheinlich erschöpft sein, bevor sie fertig sind. Zu diesem Zeitpunkt können wir den Zweig mit git filter-branch neu schreiben, der unsere voreingestellten Vorgänge für jede Übermittlung stapelweise ausführen kann Das vom Befehl -branch verwendete Grundformat ist git filter-branch --
Empfohlenes Lernen: „
Git-Tutorial“
Das obige ist der detaillierte Inhalt vonSo ändern Sie den Verlauf in Git. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!