Como dijo el profesor, se usan el rebase para poner los cambios de la nueva rama hacia la rama que usted desea.
La forma de interpretar el rebase, es algo asi "Quiero que los cambios de esta rama sirvan de base para los siguientes cambios".
Y si por ejemplo:
- Creamos una nueva rama
- git branch newrama
- Luego hacemos varios commits
- git commit -m "1"
- git commit -m "2"
- git commit -m "3"
- Mientras tu rama master, esta siendo desarrollada por otros desarrolladores.
- git commi -m "master1"
- git commi -m "master2"
- Entonces existen dos opciones:
- Unir la rama "newrama" hacia la rama "master"
- O hacer el rebase en "newrama"
El rebase puede usarse para:
1. Evitar que el historial de cambios se vea confuso al tener menos ramas.
2. Puede servir para hacer que los cambios de la rama master se vean actualizados en la rama "newrama".
- De esta manera, si hay un cambio en la rama master, se veran reflejados en la rama "newrama".
- Y si hay algun conflicto, un error aplicado los cambios, podemos arreglarlos antes de unirlos a la rama master.
- Tambien puede usarse el merge, pero a varios cambios, nuevos merge, y se veria con muchas lineas el historial de cambios, se vería un poco confuso.
El merge puede usarse para:
- Cuando se desea unir el trabajo definitivo a la rama master(rama la cual se usara para crear el software oficial).
Hay mas información aquí