- 1. Git Config
- 2. Iniciando o Clonando un repositorio
- 3. Comandos Básicos
- 4. El archivo .gitignore
- 5. Trabajando con ramas
- 6. Deshaciendo y modificando commits
- 7. Commits Semánticos
- 8. Tags
- 9. Comandos Avanzados
- 10. Gita Aliases
- 11. Git Flow
En este décimo artículo sobre la guía para aprender Git de manera sencilla y desde cero, vamos a ver los alias de Git.
Los alias de Git son una especie de «atajos» que son muy útiles para no tener que escribir una sentencia de git completa, o concatenar varias sentencias en un solo comando. Estos alias se configuran y guardan en el archivo config de git (ya sea por usuario, por proyecto o de manera global).
Por ejemplo, para editar el archivo de configuración global de git teclearemos en la terminal el siguiente comando:
git config --global --edit
Como lo mejor para entenderlos es verlos con ejemplos, a continuación se listan una serie de alias útiles para cualquier proyecto, listos para copiar y pegar en tu git config:
[alias]
# Semantic Commits
cfeat = "!f() { git commit -m \"feat: $1\"; }; f"
cfix = "!f() { git commit -m \"fix: $1\"; }; f"
cdocs = "!f() { git commit -m \"docs: $1\"; }; f"
cstyle = "!f() { git commit -m \"style: $1\"; }; f"
crefactor = "!f() { git commit -m \"refactor: $1\"; }; f"
ctest = "!f() { git commit -m \"test: $1\"; }; f"
cchore = "!f() { git commit -m \"chore: $1\"; }; f"
# Useful alias
uncommit = reset HEAD~1
plog = log --graph --pretty='format:%C(red)%d%C(reset) %C(yellow)%h%C(reset) %ar %C(green)%aN%C(reset) %s'
dbranches = "!git branch --merged | grep -v '*' | xargs -n 1 git branch -d"
newFeature = "!f() { \
git checkout develop; \
git pull; \
git checkout -b F/\"${1// /-}\"; \
git push -u origin F/\"${1// /-}\" -o merge_request.create -o merge_request.remove_source_branch -o merge_request.title=F/\"${1// /-}\" -o merge_request.squash -o merge_request.target=develop; \
git pull; \
}; f"
Git sustituye el nuevo comando por lo que sea que hayas puesto en el alias. Si quieres ejecutar un comando externo en lugar de un subcomando de Git puedes comenzar el alias con !.
De este modo, un alias como el de uncommit mostrado en el ejemplo, al escribir git uncommit, por debajo se ejecuta realmente git reset HEAD~1.
Otro alias interesante es el de newFeature. Al ejecutar git newFeature «My awesome Feature», internamente lo que va a hacer es ir a la rama develop, hacer un pull para traer los últimos cambios, crear una rama con el nombre F/my-awesome-feature (sustituyendo espacios por guiones), publicar la rama en remoto y crear un merge request automáticamente (en caso de que utilices GitLab), y finalizar con un pull.
Como ves, con esta característica de Git, puedes generar tantos alias como desees y optimizar y automatizar gran parte de tu trabajo.