Skip to main content
  1. Learn
  2. Software Development
  3. Guides
  4. Git tutorial
  5. Verwenden von Git
  6. Verwalten des Verlaufs in Git
  7. Kombinieren und Verschieben eines Commits
GuidesSoftware DevelopmentBacklog
Git

Project and code management together.

Kombinieren und Verschieben eines Commits

Wechseln Sie in das Verzeichnis git-tutorial/tutorial6, das Sie zuvor heruntergeladen haben.

Wenn Sie den Verlauf dieses Repositorys untersuchen, sieht er wie folgt aus:

Current history

Wir ändern den Commit mit der Nachricht „append description of the commit command“.

Dazu verwenden wir den Befehl git rebase -i.

$ git rebase -i HEAD~~

Ihr Standard-Texteditor wird geöffnet und listet die Commits von HEAD bis HEAD~~ auf, wie im Folgenden gezeigt.

pick 9a54fd4 append description of the commit command
  pick 0d4a808 append description of the pull command

  # Rebase 326fc9f..0d4a808 onto d286baa
  #
  # Commands:
  #  p, pick = use commit
  #  r, reword = use commit, but edit the commit message
  #  e, edit = use commit, but stop for amending
  #  s, squash = use commit, but meld into previous commit
  #  f, fixup = like "squash," but discard this commit log message
  #  x, exec = run command (the rest of the line) using shell
  #
  # If you remove a line here THAT COMMIT WILL BE LOST.
  # However, if you remove everything, the rebase will be aborted.
  #

Ändern Sie in der ersten Zeile das Wort pick in edit, speichern Sie, und schließen Sie den Editor.

Sie erhalten die folgende Ausgabe und werden aus diesem Commit ausgecheckt.

Stopped at d286baa... append description of the commit command
  You can amend the commit now, with

          git commit --amend

  Once you are satisfied with your changes, run

          git rebase --continue

Öffnen Sie die Datei sample.txt, und nehmen Sie die Änderungen wie unten gezeigt vor.

Anyone can learn Git with this tutorial and Backlog
add: Register a change in an index
commit: Record index state.
pull: Obtain the content of the remote repository

Verwenden Sie git commit --amend, um die Änderung zu übertragen.

$ git add sample.txt
$ git commit --amend

Führen Sie dann git rebase --continue aus, um den Rebase-Prozess abzuschließen.

$ git rebase --continue

Wenn Sie einen Rebase auf Ihrem aktuellen Branch durchführen, können Sie auf Konflikte in Ihren Änderungen stoßen. Um fortzufahren, müssen Sie diese Konflikte manuell auflösen und dann git add und git rebase --continue ausführen. Es ist nicht erforderlich, neue Commits vorzunehmen, um die Konflikte zu lösen.

Wenn Sie das Rebasing jedoch beenden möchten, können Sie git rebase --abort aufrufen, wodurch der gesamte Prozess rückgängig gemacht und beendet und der Commit erfolgreich geändert wird.

Wenn Sie beim Aufruf von git rebase -i in mehr als einer Zeile edit angeben, werden Sie aufgefordert, die einzelnen Commits nacheinander zu ändern.

Subscribe to our newsletter

Learn with Nulab to bring your best ideas to life