- Aprende a ahorrar tiempo comparando commits, borrando ramas antiguas y creando aliases
- Aliases de Git
- Crea aliases para los comandos que usas a diario y ahorra tiempo de trabajo en la terminal
- Ejemplo: en vez de escribir
git checkout master, escribe co master
- Puedes editar o agregar comandos modificando directamente el archivo
~/.gitconfig
- Revisar el estado del repositorio desde el prompt
- Para ver el estado del repositorio, ejecuta
git-prompt.sh
- Si usas Linux e instalaste Git con un gestor de paquetes, puede que ya exista en el directorio
/etc/bash_completion.d/
- Comparar commits desde la línea de comandos
- Usa el comando
git diff para comparar diferencias entre versiones de un mismo archivo o entre commits
- Si quieres una herramienta más visual para comparar diffs, puedes usar
git difftool
- Meld: visor/editor útil para comparar diffs visualmente
- Guardar cambios no committeados con stash
- Si no quieres hacer commit de una funcionalidad incompleta y necesitas guardar los cambios actuales tal como están, usa el comando
git stash para apartarlos temporalmente
- Cuando termines lo que estabas haciendo y quieras volver a los cambios anteriores, ejecuta
$ git stash pop
- Haz pull con frecuencia
- Si usas GitLab Flow, harás trabajo nuevo en ramas de funcionalidad
- Dependiendo del tiempo que tome implementar una funcionalidad, pueden acumularse muchos cambios en la rama
master
- Para evitar que los conflictos crezcan y facilitar el merge de tu rama hacia
master, conviene traer seguido los cambios de master a tu rama de trabajo
- Autocompletado de comandos
- Si usas scripts de autocompletado, puedes usar comandos más fácil y rápido en bash, tcsh y zsh
- Por ejemplo, para escribir
git pull, basta con escribir git p y presionar tab
- Para ver todos los comandos disponibles, escribe
git en la terminal y luego presiona tab+tab
- Configurar un
.gitignore global
- Si no quieres committear archivos como
.DS_Store o archivos swp de Vim, puedes configurarlo en un archivo .gitignore global
- Usar autosquash de Git como configuración predeterminada
- Con autosquash, puedes hacer squash de commits más fácilmente durante un rebase interactivo
- Puedes activarlo cada vez con
git rebase -i —autosquash, pero es más cómodo dejarlo habilitado por defecto
- Borrar en la rama local lo que fue eliminado del remoto al hacer fetch/pull
- Puede que ramas que ya no existen en el repositorio remoto sigan quedándose en tu repositorio local
- Para borrarlas cada vez que hagas fetch/pull, usa
$ git config —global fetch.prune true
- Usar Git blame de forma más eficiente
- Git blame te permite encontrar quién cambió qué línea en un archivo
- Opciones
$ git blame -w # ignorar espacios en blanco
$ git blame -M # ignorar movimiento de texto
$ git blame -C # ignorar movimiento de texto a otros archivos
- Agregar un alias para hacer checkout local de un merge request
- Un merge request incluye todo el historial del repositorio y los commits agregados a la rama asociada al MR
- Cuando el proyecto fuente es un fork del proyecto objetivo, puedes hacer checkout local de un merge request público
- Alias de HEAD
@ es lo mismo que HEAD. Usarlo durante un rebase hace el trabajo mucho más fácil
- Revertir archivos (
reset)
- Si estás modificando código y te das cuenta de que hay un problema con cambios que ya hiciste, necesitas revertir el archivo
- En lugar de hacer clic en deshacer para cada cambio, puedes hacer reset del archivo al
HEAD de esa rama
- Ejemplo:
$ git reset —hard HEAD
- Si quieres revertir solo un archivo, ejecuta el siguiente comando
- Ejemplo:
$ git checkout HEAD — path/to/file
- Plugin
git-open
- Si quieres abrir rápidamente el sitio web que hospeda el repositorio que estás usando, puedes usar
git-open
- Plugin
git-extras
- Si quieres mejorar la usabilidad de Git con más comandos, usa el plugin
git-extras
- Incluye
git info (muestra información del repositorio) y git effort (número de commits por archivo)
Aún no hay comentarios.