Atom

Increíble editor web, uno de mis favoritos.
Gratis, multiplataforma, de código abierto, ligero y personalizable. No se le puede pedir más.
En este capítulo aprenderás lo que son las ramas de Git conocidas como branches en inglés.
Las ramas son pequeñas nuevas versiones de tu proyecto.
Supongamos que ya tienes creada la primera parte importante, de por ejemplo, un sitio web. En este caso, puedes crear una o varias ramas nuevas para que en caso de que no te convenzan las nuevas modificaciones, puedas ir atrás o adelante según lo necesites.
Al trabajar sin ramas Git, encontrarás muchos problemas y dificultades. Veamos un supuesto práctico en el que se está desarrollando un sitio web.
Terminada la primera versión del sitio web, pasado un tiempo se quiere hacer una gran modificación.
En el caso de que no utilicemos Git, todo será una única versión, la cuál, iremos modificando por encima. Tendremos que hacer copias manualmente o con un software de copias de seguridad cada equis tiempo, de forma que podamos recuperar el código anterior si nos equivocamos o no nos convencen los nuevos cambios.
Al final, podemos tener un montón de copias alternativas del proyecto que no sabemos si realmente nos sirven.
Esta es una de muchas desventajas que irás descubriendo.
En cambio, ¿Cómo sería esto utilizando Git?
Crearíamos una nueva rama al terminar la versión y trabajaríamos a partir de esta. De esta rama, podemos hacer más ramas con modificaciones diferentes.
Si en algún momento no nos convence algo, podemos volver atrás sin más, ya sea a la rama principal (master
) o bien a otra rama que haya entre medio.
Debes tener al menos una copia del proyecto Git entero. De lo que hay dentro del proyecto, ya se encarga Git de gestionarlo, tu solo tendrás que darle sencillas instrucciones. No tienes que hacer copias de versiones ni nada por el estilo.
Partimos del proyecto de los capítulos anteriores. Teniendo en cuenta que ya hemos realizado los primeros commit y que todo está guardado en la rama principal (master
).
Para crear una rama lo debes hacer con el siguiente comando:
git branch version_2
Aunque no nos lo comunique, la rama llamada version_2
ya está creada. Para comprobarlo, podemos ver las ramas creadas escribiendo solo git branch
.
git branch
Aparece en color verde y con un asterísco la rama en la que estamos trabajando, la rama master
.
Para acceder e ir a trabajar con una rama en concreto, lo podemos hacer con git checkout
y el nombre de la rama.
git checkout version_2
El término head en el caso de Git, se refiere a la rama que tenemos activa en la consola. En la imagen de arriba puedes ver el head de color azul celeste. En primer lugar aparece la rama master
. En la segunda parte de la imagen, cuando ya he cambiado de rama, el head me indica que estoy sobre la rama version_2
.
Hagamos algunas modificaciones a los archivos en esta nueva rama. Supongamos que queremos eliminar la hoja de estilos .css con su carpeta incluida y que hacemos alguna modificación en la página .html.
Los commit que hagamos, los haremos sobre la rama en la que esté el head. Para editar una rama, utiliza el comando git checkout
.
En este momento, me encuentro trabajando en la nueva rama, version_2
, por lo que el commit se va a aplicar a esta.
Para eliminar una carpeta vacía lo haremos con el siguiente comando:
rmdir nombre_carpeta
No obstante, si la carpeta contiene archivos como es el caso de la carpeta
css, no vamos a poder:Tenemos dos opciones desde la consola, o bien eliminamos primero los archivos que hay dentro de la carpeta con el comando rm
:
rm test.css
La segunda opción es forzar a eliminar la carpeta y su contenido añadiendo la siguiente opción al comando rm
:
rm -r css
Aquí tienes la modificación que le he hecho a la página html:
<!doctype html>
<html lang="es">
<head>
<meta charset="utf-8">
<title>Página principal del proyecto</title>
<meta name="description" content="Página principal para el proyecto de Git">
<meta name="author" content="Programación Fácil">
<script src="js/test.js"></script>
<link href="css/test.css" rel="stylesheet" />
</head>
<body>
<p>Este párrafo está escrito sobre la hoja index.html</p>
</body>
<html>
Con la hoja de estilos eliminada, su carpeta y la página html modificada, nos quedará una estructura de proyecto como esta:
Es el momento de finalizar y realizar el commit de esto sobre la nueva rama.
git add --all
git commit -m "En esta nueva versión elimino la carpeta css y modifico el index.html"
Una parte importante y totalmente esencial de Git es la de poder cambiar entre versiones y ediciones de tus programas o sitios web.
Supongamos que nos arrepentimos y queremos volver a la versión inicial donde teníamos la carpeta de checkout
.
git checkout master
Sorprendentemente, nuestra estructura está intacta sobre el último commit que hicimos sobre la rama master
.
¿Quieres regresar de nuevo a version_2
?
Haces lo mismo y listo.
Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.
Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.
No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.
Si te quedan dudas sobre el temario, sobre Git, GitHub, cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.