Iniciación y entendiendo GIT

Hace mucho que ya es obligatorio tener conocimiento en un sistema de control de versiones de código fuente, ya es del siglo pasado manejar las versiones en diferentes carpetas o archivos comprimidos, además ahora con el trabajo remoto y equipos distribuidos en distintos lugares geográficos se hace impensado no tener una herramientas de este tipo.

Yo desde llevaba muchos años usando subversión(aunque partí con CVS), en la actualidad el sistema mas usado y popular es Git

Actualmente existen 3 implementaciones con versiones gratis para su uso personal, las cuales son GitHub, Bitbucket, GitLab, cada una de estas son plataformas online tiene sus características, pero para describirlas es una entrada completa y como registrarse en cada una de ella. 

De Subversión a GIT, tienen varias diferencias entre ellas, pero para mi la mayor diferencia es que en SVN solo existía un repositorio remoto y una workspace(espacio de trabajo), y en GIT se tiene dos repositorios uno remoto mas uno local y un workspace.

Es muy común utilizar Git desde la terminal, para eso obviamente primero hay que instalar Git desde https://git-scm.com/ y luego configurar los siguientes valores globales



Comandos Básicos y Worflow

Aquí  unos comandos muy básicos para partir trabajando con GIT.




  • Git Clone Trae desde el código desde un repositorio remoto, lo clona en un repositorio local (solo por el hecho de instalar git en nuestro equipo, ya tenemos un repositorio local) y además nos deja el código en nuestro workspace.
Git clone https://github.com/vhspiceros/simple-hangfire.git

  • Git status Muestra el estado de nuestro workspace, si se tiene modificaciones, si hay archivos por subir.

  • Git add Agrega los archivos al stage, Estos se pueden agregar si es que tienen modificaciones, han sido eliminados o son archivos nuevos.  para no tener que agregar uno a uno los archivos se puede usar "git add . " para agregar todos los archivos con modificaciones.
  • Git commit Envía los cambios que se tienen almacenado en Stage al repositorio local.
  • Git Push Envía los commit que tenemos en el repositorio local  al repositorio remoto.
  • Git Fetch Baja todos los cambios o actualizaciones que se tiene en el repositorio remoto al repositorio local. Este comando baja no solo las modificaciones de la rama en la que estamos trabajando si no que también actualiza las demás. 
  • Git Pull Baja todos los cambios desde el repositorio remoto al repositorio local (igual que el anterior) pero adicionalmente también actualiza las modificaciones al worspace.
  • Git Diff  Muestra las diferencias  que se tiene en el workspace con respecto al repositorio. 
  • Git remote -v Para ver las urls relacionadas a los repositorios remotos. 
  • Git branch -a Muestra todas las ramas de ambos repositorios.

Bonus track

Yo uso windows y powershell  y con la siguiente línea hago que se ingresen todas las modificaciones al stage, las envío al repositorio local para luego con Git Push al repositorio remoto. 

Git add .  && git commit -m "mensaje de commit" && git push


Conclusión

Si bien estos comandos son muy básicos, a alguien que esta partiendo con GIT le pueden servir, yo recuerdo que tenia estos comandos pegados en la pared para poder aprendérmelos.  En un futuro podría escribir sobre el manejo de ramas, Pull /Merge Request entre otros.




--
Atte.
Victor Hugo Saavedra
http://vhspiceros.blogspot.com

Comentarios

Entradas populares de este blog

Buscar columnas en todas las tablas SQL SERVER

"is not null" o "<> Null" en Sql Server

Aplicación y Aplicativo