DEV Community

Cover image for Comandos Git para el día a día
Dajan Medina
Dajan Medina

Posted on

Comandos Git para el día a día

Es un sistema de control de versiones, nos ayuda a guardar el historial de cambios de un archivo.

Comandos básicos útiles:

$ git init
Enter fullscreen mode Exit fullscreen mode

Es el comando que utilizamos para iniciar un repositorio en un proyecto nuevo.

$ git add .
Enter fullscreen mode Exit fullscreen mode

Es el comando que usamos para que Git conozca la existencia de los archivos de nuestro proyecto. Este comando no guarda las modificaciones o actualizaciones a los archivos de forma automática, únicamente los guarda en una zona conocida como Staging Area (Área de montaje o ensayo).

$ git commit
Enter fullscreen mode Exit fullscreen mode

Es el comando que utilizamos para guardar de forma definitiva una actualización o modificación a los archivos. Es posible utilizar el flag -m y seguido entre comillas podemos dejar un mensaje para recordarnos qué cambios estamos guardando.

$ git commit -m "descripción del commit"
Enter fullscreen mode Exit fullscreen mode

Confirma los cambios y los guarda en el repositorio.

$ git commit -am "descripción del commit"
Enter fullscreen mode Exit fullscreen mode

Añade los cambios al staging área y confirma los cambios y los guarda en el repositorio.

$ git pull
Enter fullscreen mode Exit fullscreen mode

Para descargar los cambios de un branch.

$ git push 
Enter fullscreen mode Exit fullscreen mode

Este comando se usa cuando queremos enviar nuestros cambios en el repositorio hacia un servidor en la nube.

$ git status
Enter fullscreen mode Exit fullscreen mode

Ofrece una descripción del estado de los archivos (untracked, ready to commit, nothing to commit).

$ git config --global user.email mail@mail.com
Enter fullscreen mode Exit fullscreen mode

Configura un email.

$ git config --global user.name <Nombre como que se verá en los commits>
Enter fullscreen mode Exit fullscreen mode

Configura un nombre.

$ git config --list --show-origin
Enter fullscreen mode Exit fullscreen mode

Podemos revisar donde se guardan las configuraciones de Git en nuestro pc.

$ git config --list
Enter fullscreen mode Exit fullscreen mode

Listara las configuraciones de Git.

Comandos para analizar cambios en los archivos de un proyecto

$ git log
Enter fullscreen mode Exit fullscreen mode

Nos genera una lista de manera descendente los commits realizados.

$ git log -stat
Enter fullscreen mode Exit fullscreen mode

Además de listar los commits, muestra la cantidad de bytes añadidos y eliminados en cada uno de los archivos modificados.

$ git log --all -graph -decorate -online
Enter fullscreen mode Exit fullscreen mode

Muestra de manera comprimida toda la historia del repositorio de manera gráfica y embellecida.

$ git show <filename>
Enter fullscreen mode Exit fullscreen mode

Permite ver la historia de los cambios en un archivo.

$ git diff <commit> <commit 2>
Enter fullscreen mode Exit fullscreen mode

Compara diferencias entre cambios confirmados.

Volver en el tiempo con branches y checkout

$ git reset <commit> - soft/hard
Enter fullscreen mode Exit fullscreen mode

Regresa al commit especificado, eliminando todos los cambios que se hicieron después de ese commit.

$ git checkout <commit/branch> <filename>
Enter fullscreen mode Exit fullscreen mode

Permite regresar al estado en el cual se realizó un commit o un branch especificado, pero no elimina lo que esta en el staging área.

$ git checkout - <filePath>
Enter fullscreen mode Exit fullscreen mode

Deshace cambios en una archivo en estado modified (que ni fue agregado al staging)

Comandos para eliminar

$ git rm
Enter fullscreen mode Exit fullscreen mode

Este comando nos permite eliminar archivos de Git sin eliminar su historial del sistema de versiones. Esto quiere decir que si volvemos a necesitarlo podemos "viajar en el tiempo" y recuperarlo del último commit antes de borrarlo. git rm no puede usarse por sí solo, se debe utilizar uno de los flags para indicar a Git como eliminar los archivos.

$ git rm -cached <archivo/s>
Enter fullscreen mode Exit fullscreen mode

Elimina los archivos del área de staging y del próximo commit, pero los mantiene en nuestro disco duro.

$ git rm -force <archivo/s>
Enter fullscreen mode Exit fullscreen mode

Elimina los archivos de Git y del disco duro. Git siempre guarda todo, por lo que podemos acceder al registro de la existencia de los archivos, de modo que podremos recuperarlos si es necesario. ( pero debemos aplicar comandos más avanzados).

$ git reset
Enter fullscreen mode Exit fullscreen mode

Con este comando volvemos al pasado sin la posibilidad de volver al futuro. Borramos la historia y la debemos sobreescribir.

$ git reset -soft
Enter fullscreen mode Exit fullscreen mode

Vuelve el branch al estado del commit especificado, manteniendo los archivos en el directorio de trabajo y lo que haya en staging considerando todo como nuevos cambios. Así podemos aplicar las últimas actualizaciones a un nuevo commit.

$ git reset -hard
Enter fullscreen mode Exit fullscreen mode

Borra absolutamente todo. Toda la información de los commits y del área de staging se borra del historial.

$ git reset HEAD
Enter fullscreen mode Exit fullscreen mode

No borra los archivos ni sus modificaciones, solo los saca del área de staging, de forma que los últimos cambios de estos archivos no se envíen al último commit. Si se cambia de opinión se los puede incluir nuevamente con git add.

Comandos para ramas o branch

Al crear una nueva rama se copia el último commit en esta nueva rama. Todos los cambios realizados en esta nueva rama no se reflejarán en la rama master hasta que hagamos un merge.

$ git branch <new branch>
Enter fullscreen mode Exit fullscreen mode

Crea una nueva rama

$ git checkout <branch name>
Enter fullscreen mode Exit fullscreen mode

Se mueve a la rama especificada.

$ git merge <branch name>
Enter fullscreen mode Exit fullscreen mode

Fusiona la rama actual con la rama
especificada y produce un nuevo commit de esta fusión.

$ git branch
Enter fullscreen mode Exit fullscreen mode

Lista las ramas generadas.

Top comments (0)