Eine entscheidende Besonderheit der Arbeit mit Git ist die Möglichkeit, im Team oder alleine parallel an unterschiedlichen Stellen eines Projekts zu arbeiten, Änderungen vorzunehmen, Probleme zu beheben und dann die gewonnenen Erkenntnisse wieder für das große Ganze nutzbar zu machen. Dies funktioniert zum einen über den Einsatz von lokalen Repositories und zum anderen – eine Stufe darunter – durch die Verwendung von Abzweigungen, also sogenannten Branches. In diesen können Sie autark an einer Änderung arbeiten und üben zunächst keinen Einfluss auf das restliche Projekt aus. Möchten Sie dann allerdings die Änderungen von einem Branch in einen anderen integrieren, bietet das Versionskontrollsystem zwei Optionen.
Git Merge und Git Rebase eignen sich beide für die Zusammenführung, unterscheiden sich allerdings auch deutlich voneinander. Git Rebase gilt als die anspruchsvollere Lösung. Bei diesem Git Command wird eine Reihe von Commits in einen neuen Basis-Commit verschoben. Dadurch ändert sich die Basis dieses Commits und ein gesamter Branch wird dabei an die Spitze eines anderen Zweigs gesetzt. Dazu schreibt Git Rebase die History des Projekts neu, da für die Commits im Original-Branch neue Commits erstellt werden. Man unterscheidet bei Git Rebase zwischen einem manuellen und einem interaktiven Ansatz.