Skip to main content
  1. Learn
  2. Software Development
  3. Guides
  4. Git tutorial
  5. Verwenden von Git
  6. Verwenden von Branching in Git
  7. Rebasing eines Branches
GuidesSoftware DevelopmentBacklog
Git

Project and code management together.

Rebasing eines Branches

Eine weitere Möglichkeit, den Branch issue3 in den Haupt-Branch zu integrieren, ist per Befehl git rebase. Mithilfe des rebase-Befehls können wir unsere Verlaufsbaumstruktur bereinigen, wie zuvor in dieser Anleitung beschrieben.

Beginnen wir damit, den vorherigen Merge rückgängig zu machen.

$ git reset --hard HEAD~

So sieht nun unser Verlauf aus:

History before rebase

Wechseln Sie dann zum Branch issue3, und führen Sie einen Rebase auf den Haupt-Branch durch.

$ git checkout issue3
Switched to branch 'issue3'
$ git rebase main
Auto-merging sample.txt
CONFLICT (content): Merge conflict in sample.txt
error: could not apply 470d684... My Commit
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 470d684... My Commit

Wenn der Konflikt während des Rebase-Vorgangs auftritt, müssen Sie ihn auflösen, um den Vorgang fortzusetzen.

Anyone can learn Git with this tutorial and Backlog
add: Register a change in an index
<<<<<<< HEAD
commit: Save the status of an index
=======
pull: Obtain the content of a remote repository
>>>>>>> issue3

Sobald der Konflikt behoben ist, können Sie das Rebasing mit der Option --continue fortsetzen.

Bevor Sie Ihre Änderungen anwenden, öffnet Git Ihren Standard-Texteditor (Vim oder Emacs auf den meisten Unix-Systemen), um Ihnen die Möglichkeit zu geben, die rebase-Nachricht zu bearbeiten. Wenn Sie die Rebase-Operation beenden und rückgängig machen möchten, können Sie dies mit der Option --abort tun.

$ git add myfile.txt
$ git rebase --continue
Applying: append description of the pull command

Jetzt sieht unser Verlauf folgendermaßen aus:

Current history

Da der Branch issue3 per Rebase auf main festgelegt wurde, können wir nun einen Fast­Forward-Merge vornehmen.

Wechseln Sie zum Haupt-Branch, und führen Sie issue3 mit main zusammen.

$ git checkout main
Switched to branch 'main'
$ git merge issue3
Updating 8f7aa27..96a0ff0
Fast-forward
myfile.txt |    1 +
  1 files changed, 1 insertions(+), 0 deletions(-)

Der Inhalt der Datei myfile.txt ist nun identisch mit dem Inhalt der vorherigen Zusammenführung. Der Verlauf sieht nun wie folgt aus:

Current history

Subscribe to our newsletter

Learn with Nulab to bring your best ideas to life