Inmediatamente creamos un proyecto se crea por defecto una rama (branch) y Git le da el nombre por defecto 'master'.
Cada vez que confirmamos archivos en Git (commit) se modifica ésta rama 'master'.
Para ver que es muy común trabajar con ramas podemos visitar distintos proyectos en GitHub y comprobar que dichos proyectos administran más ramas que la 'master', por ejemplo el código fuente de Git al día de hoy tenemos 7 ramas, puede variar en el tiempo ya que se pueden borrar o agregar más ramas:
Git promueve que cada vez que queremos añadir una funcionalidad a nuestra aplicación o queremos eliminar un error, debemos evitar trabajar sobre la rama 'master', sino debemos crear una nueva rama donde procedemos a implementar los algoritmos respectivos y posteriormente la fusionamos con la rama 'master'.
Una de las ventajas de Git con respecto a otros sistemas de control de versiones es que la administración de ramas es muy rápida y requiere muy poco espacio.
Vamos a crear una carpeta llamada 'proyecto2', seguidamente procederemos a crear el repositorio con el comando 'init', también procederemos a crear 3 archivos y los confirmaremos 'commit':
Por ejemplo ahora queremos implementar la funcionalidad de login a nuestro sitio web, en lugar de modificar la rama 'master', procedemos a crear una rama llamada 'login':
git branch login
Ahora podemos ver todas las ramas ejecutando el comando branch sin parámetros:
git branch
Como podemos comprobar tenemos dos ramas: 'master' y 'login'. Con un asterisco se muestra en la que estamos posicionados, cualquier cambio que hagamos se hará sobre dicha rama.
Para cambiarnos de rama debemos ejecutar el comando checkout y el nombre de la rama:
git checkout login
Cuando activamos la otra rama podemos comprobar con checkout que la rama activa es la de login:
git checkout
Creamos ahora en la rama login 2 archivos y los confirmamos:
git add login1.html git add login2.html git commit -m "Agregamos los archivos de login"
Regresemos a la rama 'master':
git checkout master
Cuando cambiamos de rama podemos comprobar como el editor de texto nos deja de mostrar los dos archivos creados en la rama 'login':
Si ya tenemos implementado la funcionalidad de login, podemos fusionar la rama 'login' a la rama 'master' mediante el comando 'merge':
git merge login
Después de ejecutar el comando 'merge' podemos ver como todos los archivos creados y/o modificados en la rama 'login' se agregan a la rama 'master':
Cuando fusionamos una rama, la misma no se borra, podemos comprobar que sigue existiendo ejecutando el comando checkout:
git branch
Si queremos borrar definitivamente una rama lo debemos hacer con el comando:
git branch -d login