3. Git Commands: Best Practices & Tips

Updated: Aug 2

¿Sabes cómo funcionan los comandos de Git? Te enseñamos algunos tips que quizás no conocías. 3ra parte de la miniserie de Melt: Git Tricks. ¡Let's code! 🧑‍💻

Recopilamos para ti la lista de los comandos más útiles de Git y además, algunos tips sobre: git add, y git commit que te ayudarán en tu día a día.


ℹ️ Antes de seguir leyendo:

Recuerda que este post hace parte de una miniserie de Melt, y es probable que algunos temas ya hayan sido explicadas. Así que, te invitamos a revisar los posts anteriores:


__________________________________



Línea de Comandos

Existen muchas formas de usar Git, por medio de la línea de comandos, o implementando alguna interfaz de usuario o GUI. En la línea de comandos puedes ejecutar TODOS los comandos de Git, pero en la mayoría de interfaces gráficas de usuario, por cuestiones de simplicidad, sólo puedes implementar una parte de estos comandos.


La línea de comandos (que hemos estado utilizando desde Git Internals) no tiene porqué ser algo abrumador, al contrario, una vez logramos comprender cómo funciona git, el siguiente paso se resume a simplemente aprenderse una lista básica de comandos.


De todas maneras si prefieres una alternativa de visualización, existen muchas interfaces gráficas de usuario, donde no tendrías que usar la línea de comandos o terminal, nosotros te recomendamos Git Kraken:


De los mejores clientes multiplataforma para trabajar con GitHub, es eficiente, muy bonito y elegante, además que tiene funciones tipo drag and drop haciendo la interfaz muy intuitiva, las operaciones de git comprensibles y los errores fácilmente corregibles con un clic.


Tiene editor de código incorporado, así que te permite sincronizar GitHub en tiempo real, y es gratuito si eres estudiante desde el GitHub Student Developer Pack.


Para conocer más opciones, visita esta lista sobre los Mejores Clientes Git GUI de Hostinger.



GIT TRICKS

TALK DE LA SEMANA



Los comandos nos ayudan a gestionar o eliminar cambios en cualquier etapa del ciclo de vida de Git. Hicimos una lista con los comandos más utilizados de Git para gestionar los cambios de un proyecto con Git y GitHub.


En la línea de comandos o en la terminal, siempre debes ubicarte primero en la carpeta que contiene el proyecto de Git.


Git add

El comando git add agrega un archivo al staging de Git. Esta área contiene una lista de todos los archivos que tienen cambios y requieren un commit para ser guardados en el repositorio, es decir, un commit.


La sintaxis:

git add README.md
git agregar <nombre de archivo>

Readme es un ejemplo, pero puede ser cualquier archivo o carpeta que se especifique.

  • git add file_name.ext : Añade este solo archivo al reposi­torio

  • git add -a : Organiza todos los archivos, incluidos nuevos, modificados y eliminados en el directorio actual y en directorios superiores del mismo repositorio git

  • git add -u : Almacena solo archivos nuevos y modificados, NO archivos eliminados

  • git add . : Agrega el folder completo, incluyendo archivos con un punto de nombre

Acá te mostramos dos trucos que no conocías de este comando:

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


Flag -p: "git add patch"

El modo parche le permite organizar de forma parcial las partes de un archivo modificado, en lugar de todo el archivo. Con ayuda de commits concisos y bien elaborados se facilita la lectura de cada uno de los cambios o eliminación de partes de los cambios en un archivo.


git add -p

Git preguntará qué archivos le gustaría preparar parcialmente; luego, mostrará las partes del archivo diff organizados si lo prefieres, y uno por uno preguntará si desea "stage" de estos. Para cada confirmación se pueden usar estas respuestas:

  • y : Sí, hacer stage de esta parte

  • n : No, no agregar a estage

  • a : Organice esto y todos las partes restantes en el archivo

  • d : No prepares esta parte ni a ninguna otra en el archivo

Comandos más avanzados:

  • g : Selecciona una parte para ir

  • / : Busca una parte que coincida con la expresión regular dada

  • j : Deja a esta parte indecisa y mira la siguiente indecisa

  • J : Deja a esta parte indecisa y mira el siguiente

  • k : Dejar a esta parte indecisa y mira la anterior indecisa

  • K : Deja a esta parte indecisa y mira la anterior

  • s : Dividirá o split la parte actual en otras más pequeñas

  • e : Edita manualmente la parte actual

  • ? : Ayuda


Flag -i: es "git interactive"

El modo interactivo es el hermano mayor de --patch. Permite decidir sobre partes individuales de los archivos y es un poco más potente. Tan poderoso que tiene su propio pequeño submenú:


*** Commands ***
  1: [s]tatus     2: [u]pdate     3: [r]evert     4: [a]dd untracked
  5: [p]atch      6: [d]iff       7: [q]uit       8: [h]elp
What now> 

Este modo está diseñado para facilitar la revisión y manipulación de cambios en todo el repositorio cuando hay muchos cambios diferentes esparcidos por todo el repositorio.


Usarlo es bastante sencillo: Puede presionar el número o escribir el carácter entre corchetes:

  • status : Muestra el estado actual, el número de las líneas agregadas y eliminadas.

  • update : Organiza archivos completos en el índex

  • revert : Quita la etapa de cambios operando en archivos completos

  • add untracked : Permite (adivina) agregar archivos sin stage

  • diff : Muestra una diferencia entre el índice y HEAD

  • quity help : Trabajar exactamente como se anuncia

Además permite seleccionar varios a la vez en un archivo, ingresando los números separados por espacios y presionando enter. También, para terminar con un archivo debemos dejar en blanco la línea de comandos y presionar enter; y este continuará con la siguiente etapa, si existe.


ℹ️ Nota: Para una parte muy grande, usa "e" para especificar las líneas exactas que vas agregar o eliminar.

Esta es probablemente la opción más poderosa, tiene las siguientes características:

  • Te permite editar la parte.

  • Dividir la parte en otras más pequeñas.

  • Sólo si hay líneas sin cambios dentro de los cambios de la parte mostrada.

git reset -p 
// funciona de manera similar
git commit -p 
// combina git add -p y git commit en un comando.

Git commit

Creas una nueva confirmación que contenga el contenido actual del index y a esta instantánea, le debes colocar un mensaje que describa las últimas modificaciones en el código, así registramos los cambios en el repositorio.


La sintaxis:

git commit -m "Initial commit"
git confirmar cambios actuales y el mensaje: <commit inicial>

La confirmación termina siendo un hijo de HEAD. Igual si tienes dudas puedes usar la ayuda de git para el comando:

  • git help commit : Como su nombre lo indica, lo usamos para saber cómo usar el commit.

Y algunas opciones que varían el comportamiento de la confirmación:

  • -a, --all : Automaticamente stage archivos modificados o eliminados sin afectar nuevos.

Sobre los mensajes de confirmación que definen los cambios en el commit, te recomendamos que sea con una sola línea corta (< 50 caracteres) el cual resuma el cambio.

  • -m "Commit message" : Realizar el commit de los archivos que están en staging area.

  • --amend -m : Puedes cambiar el mensaje del commit.

  • -F <file>, --file=<file> : Toma el mensaje de confirmación del archivo otorgado.

  • -C <commit>, --reuse-message=<commit> : Reutiliza un mensaje de commit existente y toda su metadata, para crear un nuevo commit.

  • -c <commit>, --reedit-message=<commit> : Parecida a la opción -C, pero en esta ocasión invocamos al editor de Git, así podemos re-editar.

Existen opciones que te permiten dejar este mensaje vacío, y son principalmente usadas bajo experiencia y con scripts de interfaz SCM externos:

  • --allow-empty : Por lo general, cuando existe un error, y el comando le impide realizar la confirmación. Esta opción funciona para pasar por alto la seguridad. (No recomendable)

  • --allow-empty-message : Te permite crear un commit con mensaje vacío. (No está bien)

Además, algunas otras opciones generales que sabemos te pueden ser de ayuda:

  • -p, --patch : Al igual que en git add, la opción interactiva por parches te ofrece una interfaz de selección. Revisa git-add.

  • --reset-author : Cuando se usa con las flags -C / -c / - cambiamos la autoría del commit al usuario actual.

  • --author=<author> : Anula el autor de la confirmación y lo cambia por el que es otorgado con el formato: author@example.com.

  • whitespace : Ayuda a limpiar el archivo de los espacios en blanco que parecen sobrar en el código, pero no elimina los comentarios.

  • strip : Elimina las líneas vacías iniciales y finales, los espacios en blanco finales, los comentarios y las líneas vacías consecutivas contraídas.


Ver los cambios

Para revisar la lista de commits y cada cambio, puedes usar:

  • git log o git log --oneline : Sirve para listar todos los commit que posee el repositorio

  • git log --follow file_name : Enumera el historial de un archivo, incluidos cambios de nombre


Siguiente paso: Referencias, branches y sus comandos en: Git Refs: Best Practices, Tips & tricks!


_________________________________________________________________________________________


¡Gracias por leer!


📍 Conéctate con nosotros en instagram👇


40 views

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

Thanks for subscribing!