Heim Entwicklungswerkzeuge Idiot So ändern Sie den Verlauf in Git

So ändern Sie den Verlauf in Git

Jan 14, 2022 pm 02:19 PM
git

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.

So ändern Sie den Verlauf in Git

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#表示用最后一次提交的提交信息来做为提交信息,不过会调出编辑器界面
Nach dem Login kopieren
Git rebase für Fortgeschrittene

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. So ändern Sie den Verlauf in Git

Der ultimative Killer-Git-Filterzweig

So ändern Sie den Verlauf in GitAngenommen, 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 -- Verschiedene Filter stellen unterschiedliche Eingaben und Ausgaben für den Befehl bereit, zum Beispiel --msg -filter bedeutet, die Festschreibungsinformationen zu ändern, die ursprünglichen Festschreibungsinformationen aus der Standardeingabe zu lesen und die neuen Festschreibungsinformationen an die Standardausgabe auszugeben. --tree-filter bedeutet, die Dateiliste usw. zu ändern. Schließlich wird es einen Überschreibbereich geben Zum Beispiel kann git filter-. branch --env-filter 'GIT_AUTHOR_EMAIL=john@example.com export GIT_AUTHOR_EMAIL' HEAD verwendet werden, um das Postfach neu zu schreiben. Es wird empfohlen, vor dem Aufrufen des Befehls einen Zweig zu erstellen und ihn dann auszuführen die Operation für den Zweig, den Sie ändern möchten.

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!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Welche Bibliotheken werden für die Operationen der schwimmenden Punktzahl in Go verwendet? Welche Bibliotheken werden für die Operationen der schwimmenden Punktzahl in Go verwendet? Apr 02, 2025 pm 02:06 PM

In der Bibliothek, die für den Betrieb der Schwimmpunktnummer in der GO-Sprache verwendet wird, wird die Genauigkeit sichergestellt, wie die Genauigkeit ...

So führen Sie das H5 -Projekt aus So führen Sie das H5 -Projekt aus Apr 06, 2025 pm 12:21 PM

Ausführen des H5 -Projekts erfordert die folgenden Schritte: Installation der erforderlichen Tools wie Webserver, Node.js, Entwicklungstools usw. Erstellen Sie eine Entwicklungsumgebung, erstellen Sie Projektordner, initialisieren Sie Projekte und schreiben Sie Code. Starten Sie den Entwicklungsserver und führen Sie den Befehl mit der Befehlszeile aus. Vorschau des Projekts in Ihrem Browser und geben Sie die Entwicklungsserver -URL ein. Veröffentlichen Sie Projekte, optimieren Sie Code, stellen Sie Projekte bereit und richten Sie die Webserverkonfiguration ein.

Gitee Pages statische Website -Bereitstellung fehlgeschlagen: Wie können Sie einzelne Dateien 404 Fehler beheben und beheben? Gitee Pages statische Website -Bereitstellung fehlgeschlagen: Wie können Sie einzelne Dateien 404 Fehler beheben und beheben? Apr 04, 2025 pm 11:54 PM

GitePages statische Website -Bereitstellung fehlgeschlagen: 404 Fehlerbehebung und Auflösung bei der Verwendung von Gitee ...

Wie gibt ich die mit dem Modell in Beego Orm zugeordnete Datenbank an? Wie gibt ich die mit dem Modell in Beego Orm zugeordnete Datenbank an? Apr 02, 2025 pm 03:54 PM

Wie kann man im Beegoorm -Framework die mit dem Modell zugeordnete Datenbank angeben? In vielen BeEGO -Projekten müssen mehrere Datenbanken gleichzeitig betrieben werden. Bei Verwendung von BeEGO ...

Welche Bibliotheken in GO werden von großen Unternehmen entwickelt oder von bekannten Open-Source-Projekten bereitgestellt? Welche Bibliotheken in GO werden von großen Unternehmen entwickelt oder von bekannten Open-Source-Projekten bereitgestellt? Apr 02, 2025 pm 04:12 PM

Welche Bibliotheken in GO werden von großen Unternehmen oder bekannten Open-Source-Projekten entwickelt? Bei der Programmierung in Go begegnen Entwickler häufig auf einige häufige Bedürfnisse, ...

Wie löste ich das Problem des Typs des user_id -Typs bei der Verwendung von Redis -Stream, um Nachrichtenwarteschlangen in GO -Sprache zu implementieren? Wie löste ich das Problem des Typs des user_id -Typs bei der Verwendung von Redis -Stream, um Nachrichtenwarteschlangen in GO -Sprache zu implementieren? Apr 02, 2025 pm 04:54 PM

Das Problem der Verwendung von RETISTREAM zur Implementierung von Nachrichtenwarteschlangen in der GO -Sprache besteht darin, die Go -Sprache und Redis zu verwenden ...

Bedarf die Produktion von H5 -Seiten eine kontinuierliche Wartung? Bedarf die Produktion von H5 -Seiten eine kontinuierliche Wartung? Apr 05, 2025 pm 11:27 PM

Die H5 -Seite muss aufgrund von Faktoren wie Code -Schwachstellen, Browserkompatibilität, Leistungsoptimierung, Sicherheitsaktualisierungen und Verbesserungen der Benutzererfahrung kontinuierlich aufrechterhalten werden. Zu den effektiven Wartungsmethoden gehören das Erstellen eines vollständigen Testsystems, die Verwendung von Versionstools für Versionskontrolle, die regelmäßige Überwachung der Seitenleistung, das Sammeln von Benutzern und die Formulierung von Wartungsplänen.

Warum gibt es bei Verwendung von SQL.Open keinen Fehler an, wenn DSN leer ist? Warum gibt es bei Verwendung von SQL.Open keinen Fehler an, wenn DSN leer ist? Apr 02, 2025 pm 12:54 PM

Warum meldet der DSN bei Verwendung von SQL.Open keinen Fehler? In Go Language, Sql.open ...

See all articles