Ändern Sie einen bestimmten Commit in Git

John Wachira 15 Februar 2024
Ändern Sie einen bestimmten Commit in Git

Dieser Artikel veranschaulicht, wie wir einen bestimmten Commit in Git ändern können. Möglicherweise müssen Sie Dateien umbenennen, komprimieren, bearbeiten oder einem Commit hinzufügen.

Verwenden Sie dazu am besten den Befehl git rebase im interaktiven Modus. Wie gehen Sie vor?

Ändern Sie einen bestimmten Commit in Git

Um einen Commit zu ändern, müssen Sie im interaktiven Modus einen git rebase ausführen. Lassen Sie uns ein Beispiel verwenden, um dies zu demonstrieren.

git log –oneline

Wir führen den folgenden Befehl aus, um eine git rebase in einem interaktiven Modus auszuführen.

$ git rebase -i HEAD~10

git rebase

Wie wir sehen können, gibt es mehrere Befehle, mit denen wir die Commits ändern können.

Lassen Sie uns schnell die Optionen durchgehen.

  1. pick – Wir verwenden es, um unseren Commit-Verlauf neu zu ordnen.
  2. reword – Wir verwenden es, wenn wir die Commit-Nachricht ändern wollen. Es wirkt sich nicht auf die durch das Commit eingeführten Änderungen aus.
  3. edit – Wir verwenden es, wenn wir ein Commit bearbeiten oder ändern möchten. Wir können einen Commit in kleinere Commits aufteilen oder durch den Commit verursachte Fehler entfernen.
  4. squash – Wir verwenden es, um zwei Commits zu einem zu kombinieren, und es gibt uns die Möglichkeit, dem neuen Commit eine neue Nachricht zu geben.
  5. fixup – Es ist dasselbe wie squash, außer dass es die Nachricht für das zusammengeführte Commit verwirft und die darüber liegende verwendet.

Um einen Commit zu ändern, ersetzen wir pick durch eine der oben genannten Optionen. Lassen Sie uns versuchen, einen unserer Commits umzubenennen.

Wir werden den 8c1cefc My Commit Message-Commit umformulieren und die drei Code-Korrekturen zerquetschen.

Commit ändern

Nach der Bearbeitung können wir den Texteditor verlassen, um die Rebase abzuschließen. Git öffnet den Texteditor erneut, damit Sie unserem Commit eine neue Nachricht geben können.

Git wird den Editor auch noch einmal öffnen, damit wir unseren gequetschten Commits eine Commit-Nachricht geben können.

An diesem Punkt können Zusammenführungskonflikte auftreten. Sie müssen die Konflikte manuell lösen und die Änderungen festschreiben.

Um die Änderungen zu übernehmen, führen wir das git commit mit dem Flag --amend aus, wie unten gezeigt.

$ git commit --amend --all --no-edit

Der letzte Schritt besteht darin, die Rebase mit dem folgenden Befehl abzuschließen.

$ git rebase --continue

Dadurch wird die Rebase abgeschlossen und die ausgewählten Commits geändert.

Kurz gesagt, wir können Commits in Git ändern, indem wir eine Rebase im interaktiven Modus ausführen. Im interaktiven Modus stehen mehrere Befehle zum Ändern von Commits zur Verfügung.

Verwenden Sie beim Übertragen von Änderungen das Flag --amend.

John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

Verwandter Artikel - Git Commit