git

Deshaciendo git rebase y fixup

Hace unos días publiqué cómo trabajar con Git y rebase, utilizando el comando squash para mezclar commits y agregarlos en uno solo. He estado trabajando bastante más con el tema y tengo un par de cosas interesantes que contaros.

No solamente existe squash

Cuando estamos haciendo un rebase de dos o más commits, hay múltiples comandos que podemos utilizar, siendo squash el más útil para realizar una operación manual. Vamos a verlos con ejemplos:

Volvemos a nuestro repositorio de pruebas: Spoon-Knife del que os recomiendo hacer un fork para vuestras pruebas y hacemos unos cuantos commits a un fichero:

touch mifichero.txt
echo 'Primer cambio' >> mifichero.txt
git commit -am "Commit inicial con el primer cambio"
echo 'Segundo cambio' >> mifichero.txt
git commit -am "Commit con el segundo cambio"
echo 'Tercer cambio' >> mifichero.txt
git commit -am "Commit con el tercer cambio"

Nota: Con git commit -am hacemos lo mismo que con git commit -a -m que viene a ser lo mismo que hacer git add . y git commit.

Rebase en Git

Está claro que Git es el control de versiones de moda, los tiempos de CVS quedan ya muy lejanos y la gente, poco a poco va migrando del sistema más utilizado, subversion, a sistemas distribuidos como puedan ser Git, Mercurial o Bazaar. 

Como Drupal hace un tiempo que está utilizando Git para sus repositorios oficiales, la mayoría de drupaleros hemos optado por esta opción y a la hora de controlar nuestro código, hay muchas alternativas de uso, siendo Gitflow una de las que más convence.

El término rebase en Git tiene dos acepciones muy diferenciadas que voy a intentar resumir aquí y que pueden resultar confusas.

 
 
 

Creative Commons License
Excepto donde se indique lo contrario, el contenido de este sitio está sujeto a una licencia de Creative Commons.