2. Git Life Cycle: Best Practices, Tips & Tricks

Updated: Aug 2

En este 2do post te enseñamos algunas cosas que quizás no conocías sobre el ciclo de vida de Git, de la miniserie de Melt: Git Tricks. ¡Revísalos todos! 🔝✔

Recopilamos para ti algunos tips útiles de Git! En este post aprenderás sobre cómo Git cambia de estados sus objetos, y algunos comandos esenciales que seguro que no has usando antes.


Antes de seguir leyendo, recuerda que este post hace parte de una miniserie y probablemente para algunos ejemplos necesites colocarte en contexto con el post anterior. Por lo que te invitamos a revisarlo: Git Internals: Best Practices, Tips and Tricks.



GIT TRICKS

TALK DE LA SEMANA



¿Index o Stage, qué es?

Sabes qué sucede cuando "Stage un archivo"? Se trata simplemente de: preparar un archivo para un commit, es decir, creamos un registro de los cambios que se se encuentran en el repositorio y los confirmamos luego con el comando commit.


Además, el índice de Git:

  • Staging permite un control preciso sobre el control de versiones.

  • Confirmar sólo ciertas partes de cambios recientes desde el último commit.

  • Mientras los cambios están en staging, puedes editar como quieras: modificarlos, reemplazar estos archivos staged con otras versiones, eliminar cambios del staging, etc...


Te explicamos qué sería el index en 30segundos:

Si existe algún error en el reproductor, puedes ver el video en el siguiente LINK.



Entonces, un proyecto Git terminaría conformado por tres secciones principales: el directorio de trabajo, el área de preparación y el directorio git:

  • En el directorio de trabajo, se agregan, borran y editan los archivos.

  • Luego, los cambios son indexados en el área de preparación (Staging).

  • Después de confirmar tus cambios, la instantánea se guarda en el directorio .git/.


Ciclo de vida o estados de los archivos en Git

  • Untracked : Archivos que NO existen para git, y sus cambios no podrán ser registrados.

  • Tracked : Archivos sin cambios pendientes o con cambios ya guardados en el repositorio.

  • Unstaged : Archivos que no han sido agregados, se encuentran con estado de cambio en la rama, pero desactualizados. Las últimas versiones deben ser guardadas en el repo.

  • Staged : Cambios agregados por el comando git add, pero no han sido guardadas aún.

Puedes tener dos estados al mismo tiempo: staged y untracked. Esto pasa cuando guardas los cambios de un archivo en staging (con el comando git add), pero antes de hacer commit creas nuevos cambios que todavía no han sido guardados en el área de Staging.


Para cambiar los archivos y directorios del proyecto entre los estados de Git, existen diferentes comandos, los principales son:

  • git status : Imprime el estado o situación actual de los archivos.

  • git diff : Mostrar las difere­ncias de archivos que no se han enviado aún al área de staging

  • git add : Mover archivos del estado Untracked o Unstaged al estado Staged.

  • git reset HEAD : Mover de Staged al estado anterior del archivo.

  • git commit : Mover de Unstaged a Tracked. Los archivos serán guardados y actualizados en el repositorio. Git nos pedirá escribir un mensaje para identificarlo.


¿Recuerdan la definición de los tipos de contenido de Git del post anterior? Acá te ejemplificamos el proceso completo:


ℹ️ Repasando:

Todos los objetos de Git se almacenan de la misma manera, solo que con diferentes tipos. Aunque el contenido de blob puede ser casi cualquier cosa, el contenido de commit y el de tree, tienen un formato específico.


Revisaremos más comandos y algunos trucos del comando de Git más utilizado: git add, en el siguiente post: Git Commands: Best Practices & Tips.



_________________________________________________________________________________________


¡Gracias por leer!


📍 Conéctate con nosotros en instagram👇


71 views

Join our newsletter to receive information about latest technologies trends and job offers

Thanks for subscribing!