Zusammenfassung der Methoden zur Änderung des Git-Commit-Protokolls

Zusammenfassung der Methoden zur Änderung des Git-Commit-Protokolls

Fall 1: Letzte Übermittlung und kein Push

Führen Sie den folgenden Befehl aus:

git commit --amend

git öffnet den $EDITOR-Editor, der das Protokoll dieser Übermittlung lädt, damit wir es bearbeiten können. Speichern Sie es nach der Bearbeitung, um die Änderung abzuschließen.

Fall 2: Letzte Übermittlung und an den Server gesendet

Führen Sie den folgenden Befehl aus:

git commit --amend
git push origin master --force

Dasselbe wie Situation eins. Wenn Sie Push zum Pushen an einen Remote-Server verwenden, müssen Sie --force hinzufügen, damit der Server den Verlauf aktualisieren kann.

Es ist zu beachten, dass das erzwungene Übertragen des geänderten Protokolls auf den Git-Server dazu führen kann, dass die lokalen Kopien anderer Benutzer nicht mehr synchron sind, wenn diese Änderungen vorgenommen haben. Daher sollten Sie dies am besten bei ihnen überprüfen.

Fall 3: Alte Commits und nicht gepusht

Vorausgesetzt, es handelt sich um das drittletzte Commit, kann dieses mithilfe des Git-Logs angezeigt werden.

$ git log
Commit b1b451d218cc23b6c769f373164f2b89cf54d0aa
Autor: clcaza <[email protected]>
Datum: Sa 10. März 2018 19:09:08 +0800

Inhalt hinzufügen

Verpflichten 04f0d1809d5d31cc6e930efcba47a5f3f7e93319
Autor: clcaza <[email protected]>
Datum: Sa 10. März 2018 19:08:24 +0800

Inhalt hinzufügenc

Commit 94fc8feb916442d56b558d5c370f18f057298921
Autor: clcaza <[email protected]>
Datum: Sa 10. März 2018 19:07:08 +0800

Inhalt hinzufügen

Festschreiben fd517efa9faf6a5ec71d0eac38fbcfa0cd689f40
Autor: clcaza <[email protected]>
Datum: Sa 10. März 2018 19:06:21 +0800

init

Rebase ausführen

git rebase -i HEAD~3

Es wird ein Editor geöffnet, der die letzten drei Commits anzeigt, ähnlich diesem:

wähle 94fc8fe, füge Inhalt hinzu
Wählen Sie 04f0d18 Inhalt hinzufügen c
Wählen Sie B1B451D, fügen Sie Inhalt hinzu

Sie werden sehen, dass es in der Reihenfolge der Commits angezeigt wird, also in der umgekehrten Reihenfolge wie im Git-Log. Suchen Sie die Zeile, in der Sie das Protokoll bearbeiten möchten, ändern Sie „Pick“ in „Bearbeiten“ und speichern Sie.

Als nächstes ändern Sie den Protokollinhalt

git commit --amend

Wenn Sie mit der Bearbeitung des Protokolls fertig sind, denken Sie daran, Folgendes auszuführen:

git rebase --weiter

Der Zweck einer Rebase besteht darin, den Commit-Verlauf anzuzeigen und Ihnen die Auswahl zu überlassen, was geändert werden soll. Mit Git können Sie den Inhalt in einem neuen Zweig ändern. Mit git rebase --continue können Sie zum vorherigen Zweig zurückkehren.

Fall 4: Alte Übermittlung, die auf den Server übertragen wurde

Der vorherige Vorgang zum Bearbeiten des Protokolls ist der gleiche wie im Fall 3:

git rebase -i HEAD~X
git commit --amend
git rebase --weiter

X kennzeichnet die letzte Übermittlung.

Nachdem Sie die Bearbeitung des Protokolls abgeschlossen haben, führen Sie Push aus:

git push origin master --force

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Windows richtet einen Aufgabenplan ein, um in regelmäßigen Abständen Git-Updates (Git Pull) durchzuführen und den laufenden Cmd auszublenden
  • git log fragt das Protokoll nach bestimmten Bedingungen ab und zählt die Anzahl der geänderten Codezeilen
  • Der Prozess der Verwendung von Git in Idea
  • Lösen Sie das Problem, dass Maven nach dem Wechseln mehrerer Zweige in Idea Git nicht wirksam wird
  • Git commit --amend Vorgang zum Ändern der Übermittlungsinformationen

<<:  Datagrip2020 kann MySQL-Treiber nicht herunterladen

>>:  Detaillierte Erklärung der MySQL-Datenbank-Trigger

Artikel empfehlen

Auch Webdesigner müssen Web-Coding lernen

Oftmals wird nach der Fertigstellung eines Webdes...

Den praktischen Wert der CSS-Eigenschaft *-gradient erkunden

Lassen Sie mich zunächst eine interessante Eigens...

Analyse und Behandlung von Bildlaufleisten in HTML und eingebettetem Flash

Bei der Entwicklung begegnen wir häufig dieser Sit...

MySQL-Update-Fall Update-Feldwert ist keine feste Operation

Wenn bei der Verarbeitung von Batch-Updates besti...

Kurze Analyse der geplanten MySQL-Sicherungsaufgaben

Einführung Um Datenverlust in einer Produktionsum...

Beispielcode für ein Mysql-SQL-Überwachungsskript für langsame Abfragen

1. Ändern Sie my.cnf #Der Gesamteffekt besteht da...

Beispiel für die Bereitstellung von Spring Boot mit Docker

Hier verwenden wir hauptsächlich Spring-Boot, das...

Der Prozess des Aufbaus einer Lampenarchitektur durch einen Docker-Container

Inhaltsverzeichnis 1. Ziehen Sie das Centos-Image...

Zwei Implementierungscodes der programmgesteuerten Navigation mit Vue-Router

Zwei Möglichkeiten zum Navigieren auf der Seite D...

Erläuterung von JavaScript-Mikrotasks und Makrotasks

Vorwort: js ist eine Single-Thread-Sprache, daher...

Vue-cli erstellt ein Projekt und analysiert die Projektstruktur

Inhaltsverzeichnis 1. Geben Sie ein Verzeichnis e...

Detailliertes Tutorial zur Installation von MySQL 8 in CentOS 7

Vorbereiten Umweltinformationen zu diesem Artikel...