Heim  >  Artikel  >  Entwicklungswerkzeuge  >  Git ändert die angegebenen Commit-Informationen

Git ändert die angegebenen Commit-Informationen

WBOY
WBOYOriginal
2023-05-20 09:36:0711304Durchsuche

Bei der Verwendung von Git zur Versionskontrolle werden wir unweigerlich auf Situationen stoßen, in denen wir die übermittelten Übermittlungsinformationen ändern müssen. Dies kann daran liegen, dass wir bei der Übermittlung die falschen Informationen eingegeben haben oder dass wir dem übermittelten Code zusätzliche Erläuterungen hinzufügen müssen usw.

Als nächstes stellen wir detailliert vor, wie man mit Git die angegebenen Commit-Informationen ändert, und zeigen einige Dinge auf, auf die man achten sollte.

1. Verwenden Sie git commit --amend, um die angegebene Übermittlung zu ändern.

Wenn wir beim Senden einige Dateien verpassen oder die übermittelten Dateien ändern müssen, können Sie den Befehl git commit --amend verwenden, um die angegebenen Übermittlungsinformationen zu ändern.

Die spezifischen Schritte lauten wie folgt:

  1. Führen Sie den Befehl git log aus, um die Commit-Datensatz-ID zu finden, die geändert werden muss.
  2. Führen Sie den Befehl git rebase -i HEAD~n (n ist die Anzahl der Commits, die geändert werden müssen) aus, um in den interaktiven Modus zu gelangen.
  3. Drücken Sie die i-Taste, um in den Bearbeitungsmodus zu gelangen.
  4. Ändern Sie die Auswahl der Übermittlungsdatensatz-ID, die zum Bearbeiten, Speichern und Beenden geändert werden muss.
  5. Führen Sie den Befehl git reset HEAD^ aus, um zum vorherigen Commit zurückzukehren.
  6. Führen Sie Vorgänge wie das Ändern oder Hinzufügen von Dateien aus.
  7. Führen Sie den Befehl git add aus, um die geänderte Datei zum Staging-Bereich hinzuzufügen.
  8. Führen Sie den Befehl git commit --amend aus, um die Übermittlungsinformationen zu ändern.
  9. Führen Sie den Befehl git rebase --continue aus, um die Änderung der Commit-Informationen abzuschließen.

2. Verwenden Sie git filter-branch, um das angegebene Commit zu ändern.

Wenn wir eine große Menge an Commit-Informationen anpassen müssen oder die durchgeführten Vorgänge komplex sind, können wir den Befehl git filter-branch verwenden, um das angegebene Commit zu ändern Information.

Die spezifischen Schritte lauten wie folgt:

  1. Führen Sie den Befehl git log aus, um die Commit-Datensatz-ID zu finden, die geändert werden muss.
  2. Führen Sie den Befehl git filter-branch --tree-filter aus und fügen Sie die danach auszuführenden Vorgänge hinzu, wie zum Beispiel:
git filter-branch --tree-filter 'rm -f file.txt' HEAD

Das bedeutet, dass die Datei file.txt gelöscht wird. Wenn Sie die Übermittlungsinformationen ändern müssen, können Sie den folgenden Befehl ausführen:

git filter-branch --msg-filter 'sed "s/old_text/new_text/g"' HEAD
  1. Führen Sie den Befehl git push --force aus, um die geänderten Informationen an den Remote-Zweig zu übertragen.

3. Zu beachtende Dinge

  1. Durch die Änderung der Übermittlungsinformationen wird der SHA-1-Codewert der Übermittlung geändert, was zu Problemen in den referenzierten Zweigen im Repository führen kann.
  2. Wenn Sie den lokalen Zweig in den Remote-Zweig gepusht haben, müssen Sie den Befehl git push --force verwenden, um das Pushen der geänderten Commit-Informationen zu erzwingen, was sich auf die Repositorys anderer Mitarbeiter auswirken kann.
  3. Es wird empfohlen, vor dem Ändern der Übermittlungsinformationen ein Backup zu erstellen, um unnötige Fehler zu vermeiden.
  4. Seien Sie vorsichtig, wenn Sie den Befehl git filter-branch verwenden, um Änderungen vorzunehmen. Wenn der Vorgang nicht standardisiert ist, kann dies Auswirkungen auf andere übermittelte Informationen haben.

Kurz gesagt ist das Ändern der Einreichungsinformationen ein relativ komplexer Vorgang und muss mit Vorsicht durchgeführt werden. Dabei muss die Datensicherheit gewährleistet sein, um unnötige Probleme zu vermeiden.

Das obige ist der detaillierte Inhalt vonGit ändert die angegebenen Commit-Informationen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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