GIT: ejemplo de rebase
#Creamos directorio de prueba
mkdir pruebarebase
pruebarebase
#inicializar repositorio
git init .
#añadir archivo 1 + commit
echo "1" > 1.txt
git add 1.txt
git commit -m "1.txt"
#añadir archivo 2 + commit
echo "2" > 2.txt
git add 2.txt
git commit -m "2.txt"
# rama nueva "feature"
git checkout -b "feature"
# creación de archivo en rama "feature" + commit
echo "feature" > feature.txt
git add feature.txt
git commit -m "feature.txt"
# modificación de archivo en rama "feature" + commit
echo "feature_modificacion1" >> feature.txt
git add feature.txt
git commit -m "modificacion rama"
# cambiamos a la rama principal
git checkout master
#añadir archivo 3 + commit
echo "3" > 3.txt
git add 3.txt
git commit -m "3.txt"
Árbol hasta este punto:
Volvemos a la rama feature
git checkout feature
Hacemos un rebase interactivo, partimos del head -1
git rebase -i HEAD~1
en vez de pick ponemos squash en el archivo El árbol resultantes será este:
mkdir pruebarebase
pruebarebase
#inicializar repositorio
git init .
#añadir archivo 1 + commit
echo "1" > 1.txt
git add 1.txt
git commit -m "1.txt"
#añadir archivo 2 + commit
echo "2" > 2.txt
git add 2.txt
git commit -m "2.txt"
# rama nueva "feature"
git checkout -b "feature"
# creación de archivo en rama "feature" + commit
echo "feature" > feature.txt
git add feature.txt
git commit -m "feature.txt"
# modificación de archivo en rama "feature" + commit
echo "feature_modificacion1" >> feature.txt
git add feature.txt
git commit -m "modificacion rama"
# cambiamos a la rama principal
git checkout master
#añadir archivo 3 + commit
echo "3" > 3.txt
git add 3.txt
git commit -m "3.txt"
Árbol hasta este punto:
- f1 <- f2 / 1 <- 2 <--- 3Queremos fusionar los dos commits de la rama "feature" en una sola, de modo que se mantenga la
Volvemos a la rama feature
git checkout feature
Hacemos un rebase interactivo, partimos del head -1
git rebase -i HEAD~1
en vez de pick ponemos squash en el archivo El árbol resultantes será este:
- f1 / 1 <- 2 <--- 3En f1 estaŕan los cambios de f1 y de f2
Comentarios