En la gran mayoría de proyectos de varias empresas se acostumbra a trabajar en equipo sobre un mismo proyecto. Por estas cosas, hoy en día muchos de estos proyectos cuentan con repositorios subidos a la nube, los cuales facilitan la posibilidad de poder trabajar desde distintos equipos. Quizás uno de los programas más conocidos a la hora de trabajar con repositorios es Git o GitHub, el cual, explicaré unas cosas antes de utilizarlo.
¿Que es Git?
Git es un software utilizado para el control de versiones creado en 2007 diseñado por Linus Torvalds. Este programa ha sido desarrollado con distintos lenguajes como C, Perl o Bourne Shell, y cuenta con su propios comandos para que se puedan controlar las distintas versiones de los proyectos a desarrollar, debido a la gran cantidad de código que estos generan.
Hoy en día hay varias aplicaciones cliente que pueden facilitar el uso de Git de una manera más gráfica, como puede ser Sourcetree. Sin embargo, siempre puedes llegar a enfrentarte a los comandos de Git para poder trabajar con los distintos repositorios con los que debes trabajar. Así que a continuación, te voy comentar varios comandos de Git más frecuentes a la hora de trabajar con líneas de código.
Antes que nada, para poder arrancar con los comandos, debes de instalártelo. Para ello, tienes que acudir a su página oficial y descargaros el instalador. La instalación es bastante sencilla.
Comandos básicos
Una vez teniendo la aplicación instalada, puedes hacer 2 cosas. Si por una parte tienes que descargarte el proyecto de uno de los repositorios de GitHub a tu equipo, debes de seleccionar la rama que quieres trabajar (principalmente main) y usar el siguiente comando:
git clone <url_repositorio>
Si por otra parte, lo que quieres es crear un nuevo proyecto, el comando que debes de crear es:
git init
En muchas ocasiones, estos proyectos requieren una configuración con la cuenta de github para poder subir o actualizar los repositorios asociados a una cuenta. Es para eso que requiere que hagas lo siguiente
git config user.name <name>
No es obligatorio, pero puedes añadir después del config --global si queréis que la configuración se quede permanente para todos los proyectos.
git config user.email <email>
Antes de empezar a hacer cambios, es recomendable para asegurar que tus ramas esten actualizadas. Así que antes de empezar con cambios y ramas nuevas, es recomendable que actualices el proyecto con lo último subido. Para ello, tan solo debes de hacer:
git pull
Ahora, si no vas a trabajar en la rama que has descargado, o prefieres hacer una subrama para poder trabajar, para generar una nueva rama debes de añadir el siguiente comando.
git checkout -b <nueva_rama>
Este comando también te sirve para cambiar con alguna rama existente si omitimos el -b
Una vez creado el contenido que quieres subir a tu nueva rama las lineas respectivas que debes de utilizar serán las siguientes:
git add <fichero> / git add *
Las opciones de git add son por si quieres añadir algún fichero en concreto o, por si lo contrario, quieres añadir todo el contenido al commit.
git commit -m <name_commit>
git push origin <nombre_rama>
Ya por último, para mergear cambios, te recomendamos que actualices las ramas con las que vas a mergear (git pull). Una vez actualizadas, la rama a la cual se va a mergear (aconsejable que primero sea la creada antes que la principal), sería utilizar el siguiente comando.
git merge <rama_mergeable>
Al mergear sobre tu rama, si no ha generado ningún conflicto, ya seria hacer un checkout sobre la rama mergeable y volver a repetir el proceso del merge pero sobre la rama la cual trabajabas. Y estos serían los comandos más básicos que utilizar a la hora de trabajar con Git.
Comandos extra
No son los comandos más urgentes de aprender, pero os pueden servir a la hora de trabajar con Git. Por ejemplo, ¿quieres eliminar alguna de las ramas que has utilizado en tu equipo? Tan solo deberías de utilizar el siguiente comando
git branch -d <rama_a_eliminar>
Con git branch a secas puedes listar todas las ramas que tienes actualmente en tu equipo
Al igual que si quieres forzar el reseteo de alguna de tus ramas porque te genera conflictos y quieres restaurarla al estado de su último commit, tan solo debes de utilizar el siguiente comando
git reset --hard
Espero que os sirvan estos comandos y cualquier duda, dejádmela en los comentarios.