A medida que aprendas a convertirte en un desarrollador de software, te darás cuenta de que la mayoría del trabajo se hace en equipo. Y cuando estés en un equipo, necesitarás un sistema de control de versión para administrar los cambios a tu base de código que provienen de otros desarrolladores.

Git es uno de los sistemas de control de versión más populares. Sin embargo, los nuevos desarrolladores pueden sentirse abrumados fácilmente al usarlo, lo sé pues así me sentí yo. De hecho, lo evité por años.

Si eres un desarrollador experimentado o no tiemblas ante la mención de Git, siéntete libre de pasar a la siguiente publicación. Sin embargo, si eres nuevo en Git o no te sientes seguro usándolo, tómate unos minutos para aprender estos consejos básicos - pero poderosos - de Git.

Estos es lo que cubriremos:

  1. Git clone
  2. Git checkout
  3. Git pull
  4. Git add and commit
  5. Git stash and merge
  6. Git push
3w5y2tx33BATBrRgxW4zIBYU9syzS0riLfIg
Captura de pantalla de mi viejo repositorio old-apple en Github

Git clone

siempre clona los nuevos repositorios en los que trabajes, lo que significa descargar una copia de los archivos del repositorio en tu computadora. Si bien hay muchas formas de clonar un repositorio, explicaré cómo hacerlo desde la línea de comandos.

Por ejemplo, si deseas clonar el repositorio mencionado previamente, primero copea el enlace de la parte superior. Luego, abre tu terminal, y cambia de directorio utilizando el comando cd a la ubicación en tu computadora dónde deseas colocar estos archivos - $ cd <nombre-de-carpeta> . Escribe git clone y luego pega el enlace como se muestra a continuación si deseas clonar la rama maestra.

git clone https://github.com/JamesOkunlade/old-apple.git

Si tu quieres clonar una rama en particular de este repositorio, querrás hacer algo como esto:

git clone https://github.com/JamesOkunlade/old-apple.git -b branch-name

Git checkout

Es una buena práctica crear diferentes ramas para diferentes funciones en lugar de trabajar directamente en la rama maestra. Cuando se ha considerado que todas las funciones pasan ciertas pruebas y cumplen determinados requisitos, puedes fusionarlas en la rama maestra.

En diferentes momentos, tendrás que cambiar a la rama del repositorio en la que quieres trabajar y puedes hacerlo con el siguiente comando.

Si la rama ya ha sido creada:

git checkout branch-name

Y si simplemente estás creando la nueva rama de funcionalidad:

git checkout -b branch-name

Git pull

Tu equipo o compañero de programación cambiarán diferentes ramas de un repositorio, y tu deberías siempre recibir estos nuevos cambios antes de comenzar a escribir código. En tu terminal, ve a la rama en la que estarás trabajando y ejecuta el comando git pull. Los cambios más recientes serán descargados a tu repositorio local.

Git add and commit

Los comandos add y commit de Git casi siempre se usan juntos.  Piensa en ellos como capturar y guardar. Tu no puedes guardar algo si no lo has capturado primero. Por lo tanto, el comando add siempre debe preceder al comando commit. Mientras que tu usas el comando add para apuntar al archivo en particular que quieres capturar en su estado actual, usas el comando commit para guardar una copia de lo que has capturado.

Para capturar todos los archivos (con excepción de aquellos excluidos por Git ignore), deberás usar el comandogit add . y para capturar el estado actual de un archivo en particular, digamos index.html, deberás escribir git add index.html

Luego de capturar el estado actual de tu proyecto, deberás hacer un commit y guardar tus capturas en el repositorio local usando el siguiente comando:

git commit -m ‘commit message’

El mensaje de commit debería explicar la carácterística destacada de la captura que estás guardando. Por ejemplo:

git add index.html

git commit -m ‘el botón de función de formulario creado’

Puedes combinarlos usando el operador && como te muestro a continuación:

git add index.html && git commit -m ‘footer html structure created’

Git stash and merge

Con solo hacer un git stash guardarás cualquier edición que hayas hecho en tu rama pero que no quieras capturar con un commit. Eso significa que cuando esperas el commit y push de la copia de código de otro desarrollador, puedes experimentar en esa misma rama. Git lo alienta. Siempre que estés listo para hacer un pull de nuevos cambios a tu repositorio local, pero no quieras hacer un merge de tus cambios en él, debes entonces hacer un stash de tus cambios. Git stash mantendrá una copia en otra parte para tí y será accesible con solo hacer un git stash list.

El git merge es un comando que combina dos capturas diferentes. Puede combinar deferentes capturas de la misma rama creadas por desarrolladores diferentes o fusionar diferentes capturas de diferentes ramas.

Cuando hayas hecho un checkout a la rama master, git merge development unirá la rama development a tu rama master y vice versa.

Git push

Al igual que cuando guardas tus fotografías en un álbum de Google Photos para quien comparta ese álbum pueda verlas, piensa en git push como enviar tu repositorio local al repositorio remoto para que otros puedan acceder a él.

git push -u origin branch-name

Mientras que hay otros comandos de Git disponibles, es interesante lo que puedes lograr con dominar los pocos que he cubierto en este artículo.

No dudes en contactarme y hacerme cualquier pregunta en Twitter.

James Okunlade (@JamesOkunlade) | Twitter
Los últimos Tweets de JamesOkunlade (@JamesOkunlade). Full-stack SWE | JavaScript/React/Redux | Ruby/Ruby on Rails |…twitter.com

James Okunlade - Software Developer - Filmdrive| LinkedIn

Traducido del artículo de James Okunlade - The essentials of Git explained in five minutes