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:
- Git clone
- Git checkout
- Git pull
- Git add and commit
- Git stash and merge
- Git push
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