Git Rebase und Branch Schalten

Rebase

Rebase ist der Prozess der Änderung des Commit-Verlaufs eines Zweigs durch Anwenden von Commits aus einem anderen Zweig. Anstatt merge Änderungen zu kombinieren, rebase können Sie insert neue Commits in den Commit-Verlauf des aktuellen Zweigs einfügen, ohne Merge-Commits zu erstellen.

Nehmen wir zum Beispiel an, Sie haben zwei Zweige: feature-branch und main. Sie arbeiten gerade daran feature-branch und möchten die neuesten Commits auf Ihren aktuellen Zweig anwenden main. Sie können rebase verwenden, um dies zu erreichen:

git checkout feature-branch  
git rebase main  

Wenn Sie diesen Befehl ausführen, übernimmt Git die Commits von main und wendet sie auf an feature-branch. Das bedeutet, dass alle Commits von feature-branch nach den Commits von erscheinen main. Das Ergebnis ist ein übersichtlicherer und besser lesbarer Commit-Verlauf auf feature-branch.

Bei der Verwendung von Rebase ist es jedoch wichtig zu beachten, dass sich eine Änderung des Commit-Verlaufs auf öffentlich freigegebene Branches auswirken kann. Wenn Sie also bereits Commits von Ihrem aktuellen Zweig in ein Remote-Repository übertragen haben, wird im Allgemeinen davon abgeraten, Rebase für diesen Zweig zu verwenden, um Konflikte und einen unübersichtlichen Commit-Verlauf zu vermeiden.

 

Branch Wechseln

Der Zweigwechsel in Git bezieht sich auf den Prozess des Wechsels von einem Zweig zu einem anderen. Wenn Sie Zweige wechseln, verschiebt Git den HEAD-Zeiger auf den neuen Zweig, sodass Sie an diesem Zweig arbeiten und Änderungen vornehmen können, ohne dass sich dies auf andere Zweige auswirkt.

Nehmen wir zum Beispiel an, Sie haben Filialen feature-branch und main. Um zu zu wechseln feature-branch, verwenden Sie den folgenden Befehl:

git checkout feature-branch

Nach dem Zweigwechsel können Sie Änderungen im Arbeitsverzeichnis vornehmen. Alle Befehle commit, add und checkout gelten für den aktuellen Zweig.

Wenn Sie beispielsweise eine neue Datei hinzufügen und diese festschreiben feature-branch, enthält nur dieser Zweig die Festschreibung, während main dies nicht betroffen ist. Dadurch können Sie separate Funktionen entwickeln, Fehler beheben oder unabhängig voneinander an verschiedenen Versionen des Codes arbeiten. Sie können bei Bedarf zwischen Zweigen wechseln, um an jedem Zweig separat zu arbeiten.