8 comandos útiles para GIT

Hoy me gustaría hablar de varios comandos y pequeños trucos de Git que utilizo con bastante frecuencia y que son de gran utilidad en mi trabajo diario. Ahí van!

Github

1. Mostrar las diferencias existentes entre master y otro branch.:

git diff master..branch

Sin más, esto es algo que uso constantemente para revisar el trabajo que se ha hecho en el branch y asegurarse que todo está correcto antes de hacer un merge con otra rama.

2. Mostrar el total de commits realizados por los miembros del equipo:

git shortlog -s -n

(554 commits desde que trabajo en el blog de The Next Web. :) )

3. Mostrar un resumen corto del log de commits:

git log --pretty=format:"%h%x09%an%x09%ad%x09%s" --date=short

Este comando mostrará el log de commits con el siguiente formato:

47a6398 root 2012-02-03 Fixed Twitter share popup

Para mostrar solo el ID del commit y el mensaje, puedes hacer:

git log --pretty=oneline

4. Evitar incluir código de depuración en tu commit:

¿Quién no ha olvidado alguna vez quitar todos los  var_dump,  console.log, etc, del código antes de hacer el commit y luego se ha encontrado en producción? Este pre-commit hook evita esta incómoda situación.
https://github.com/borisguery/git-keywords-checker/blob/master/pre-commit

5. Obtener información sobre el repositorio remoto:

git remote show origin

Esto es útil para chequear las urls de Fetch y Push, el estado de tu HEAD, los branches remotos, etc.

6. Colorea la salida de git en consola:

git config --global color.ui true

7. Guardar temporalmente el trabajo no commiteado:

El stash de Git es un lugar que se puede usar para guardar temporalmente los elementos no commiteados, eliminándolos del HEAD. Esto permite realizar operaciones que serían muy engorrosas de otro modo, por ejemplo, si necesitas cambiar de rama para arreglar un bug urgente y no quieres commitear el código que tienes a medias. Para guardar el trabajo en el stash, es tan facil como:

git stash save

De la misma manera, para recuperar los cambios guardados:

git stash pop

Y para mostrar los contenidos del stash:

git stash list

8. Mostrar una consola interactiva para añadir elementos al stage antes de un commit:

git add -p

Este comando permite añadir archivos al stage, omitir los cambios realizados y muchas cosas más.

¿Conocéis más cosas curiosas que se puedan hacer con Git? Seguramente hay muchísimos trucos que no conozco. Os invito a compartirlas en los comentarios.

Lee ahora: ¿Cómo funciona un navegador web? »

  • Julio J.

    Aquí van los míos:

    git diff –check –> Comprueba espacios en blanco en los archivos modificados y te los muestra.

    git diff stash{0} –> Se puede modificar el 0 por el nivel de pila que se quiera y nos muestra un diff del parche guardado en el stash.

    git add -i –> Este comando te muestra una consola interactiva que te permite interactuar con los archivos del “working area”, ‘-p’ en realidad te permite añadir un ‘patch’ con las partes que tú elijas de los archivos modificados.

    git commit –amend –> Permite modificar el mensaje del último commit.

    git stash save ‘message’ –> ‘message’ puede ser lo que queramos y el stash se guardará, en lugar de con el texto del HEAD, con el mensaje que escribamos detrás, que la mayoría de veces será más descriptivo.

    Configuración:
    git config –global help.autocorrect 1 –> activa el autocorrect para los comandos.
    #Activa la salida con color para los comandos ‘branch’, ‘diff’, ‘status’ y la consola interactiva pero solo cuando se muestran por stdout, si la salida del comando se dirige a un archivo los códigos de color se desactivan.
    git config –global color.branch auto
    git config –global color.diff auto
    git config –global color.interactive auto
    git config –global color.status auto
    #Elimina todos los CRLF EOL en commit pero no en checkout (si estás en Linux/Mac), si estás en Windows cambia ‘input’ por ‘true’.
    git config –global core.autocrlf input

    De los mejores recursos que conozco para aprender GIT (en inglés, eso sí) es el libro Pro Git, disponible aquí (http://progit.org/book/)

  • Julio J.

    Casi se me olvida, de los más útiles de todos:

    git cherry-pick commit_hash_SHA1 –> para mover commits concretos de una rama a otra.

  • pablo

    que idiotes yo no o entendia pero ahora si

  • Pingback: Comandos útiles al utilizar Git - Panama Hitek

  • Sebastian M.

    entre a ver si habia algo nuevo y me sorprendí! pensé que era uno de esos copy/paste innecesarios.
    realmente estas en carrera de ser un maestro Yoda

  • Sebastian M.

    hace tu propio post amigo…