Hoja de Trucos para GIT

Advertisements

En el desarrollo de software, GIT is actualmente la herramienta para control de versiones más utilizada. Nos permite trabajar en conjunto con otros desarrolladores, incorporando nuestros cambios o los de otros desarrolladores para mantener “sincronizado” el trabajo, de la misma manera que nos permite manera versiones por cada cambio realizado.

Cuando usamos GIT, en el día a día utilizaremos algunos comandos, pero nos ofrece una gran cantidad de opciones y funcionalidades para resolver cualquier inconvenient o situación que se nos presente. Es por esto, que es muy importante tener a la mano un resumen de estos comandos.

Configuración

Estos comandos nos permiten configurar información general a través de todos los repositorios.

#establezca un nombre que sea identificable para el crédito cuando revise el historial de versiones
git config --global user.name "[firstname lastname]"

#establecer una dirección de correo electrónico que se asociará con cada marcador de historial
git config --global user.email "[valid-email]"

#establezca el coloreado automático de la línea de comando para Git para facilitar la revisión
git config --global color.ui auto

Inicio

Al iniciar tenemos 2 opciones, podemos crear un nuevo repositorio en nuestro directorio de trabajo, o podemos “clonar” un repositorio remoto al directorio de trabajo.

#inicializar un directorio existente como un repositorio de Git
git init

#recuperar un repositorio completo desde una ubicación alojada a través de URL
git clone [url]

Básicos Staging

Una vez tenemos un repositorio, podemos comenzar a trabajar en los cambios en nuestros archivos de manera local.

Advertisements
#Agrega el archivo indicado al siguiente commit (stage), reemplace <file> por un <directorio> para agregar todos los cambios en el directorio
git add <file>

#Agrega todos los cambios al siguiente commit. (todos los archivos)
git add . 

#Unstage un archivo manteniendo sus cambios en el directorio de trabajo
git reset [file]

#Lista todos los archivos "staged", "unstaged" y "untracked"
git status

#commit your staged content as a new commit snapshot
git commit -m "<message>"

#Muestra la historia de todos los commits para la rama/branch activa
git log

Branch y Merging

Una de las funcionalidades de GIT es permitir crear diferentes versiones o copias de trabajo. A eso llamamos ramas (branch en ingles), con ellas podemos trabajar en diferentes funcionalidades o cambios desde un mismo directorio de trabajo.

#Lista todas las ramas (branches). Un * aparecerá en el nombre de la rama activa.
git branch

#Crea una nueva rama en el commit actual
git branch [branch-name]

#cambie a otra sucursal y hace checkout en su directorio de trabajo
git checkout -b <branch>

#fusiona/merge el historial de la rama especificada con el actual
git merge [branch]

Repositorios Remotos

Ahora bien, la otra funcionalidad es permitir compartir nuestros cambios con otros compañeros de trabajo, o traer cambios de un repositorio remoto a nuestro ambiente local.

#Crea una conexión a un repositorio remoto. 
git remote add [alias] [url]

#Baja todas las ramas del repositorio remoto de Git
git fetch [alias]

#fusiona/mergea una rama remota en su rama actual para actualizarla
git merge [alias]/[branch]

#Transmitir los commits de la rama local a la rama del repositorio remoto
git push [alias] [branch]

#obtener y fusionar cualquier commit de la rama remota de seguimiento
git pull

Modificando la Historia

Algunas veces podemos estar en la necesidad de modificar algún cambio ya “commiteado”.

#Aplica los commits de la rama actual adelante de la rama especificada
git rebase [branch]

#Restablezca el área de staging con el commit más reciente, pero deja el directorio de trabajo sin cambios.
git reset

#Limpia el area de staging area, Reescribe el arbol de trabajo del commit indicado
git reset --hard [commit]

Cambios temporales

En muchas ocasiones, tenemos cambios en nuestro directorio de trabajo local que no está listos para ser “comiteados”. Pero, por alguna razón debemos de removerlos temporalmente, por ejemplo para cambiar a otra rama.

#Salva los cambios modificados y staged
git stash
#or
git stash push

#Lista la pila ordenada de cambios stashed (reservados) 
git stash list

#Escribe/agrega los cambios en la cima de la pila
git stash pop

#Descarta los cambio de la cima de la pila de stash
git stash drop

#Escriba el trabajo con un commit específico. No elimina el "stash" de la lista.
git stash apply <commit>

Referencias

Advertisements

Leave a Reply

Your email address will not be published. Required fields are marked *