Una característica especial y decisiva del trabajo con Git es la posibilidad de trabajar en equipo o en solitario y en paralelo en diferentes partes de un proyecto, realizando cambios, solucionando problemas y volviendo a poner a disposición los conocimientos adquiridos para el conjunto. Esto funciona, por un lado, mediante el uso de repositorios locales y, por otro, (un paso más abajo) mediante el uso de ramas. En ellas, se puede trabajar de forma autónoma en un cambio y no ejercer inicialmente ninguna influencia en el resto del proyecto. Sin embargo, si luego quieres integrar los cambios de una rama en otra, el sistema de control de versiones ofrece dos opciones.
Tanto git merge como git rebase son adecuados para fusionar, pero también difieren significativamente entre sí. Git rebase se considera la solución más sofisticada. Con este comando de Git, una serie de commits se transfieren a un nuevo commit de base. Esto cambia la base de ese commit y se mueve una rama entera a la parte superior de otra rama en el proceso. Para ello, git rebase reescribe el historial del proyecto a medida que se crean nuevos commits para los commits de la rama original. Con git rebase, se distingue entre un enfoque manual y uno interactivo.