Crear el comando personalizado (Para zsh es una función)
- Abrir el archivo
.zshrc
- Al final (o donde quieras) definí la función con el nombre de tu comando.
function start() { if [ -n "$1" ] # Si la función fue llamada con argumentos: then git flow feature start "$1" else echo "Pasá un nombre de branch" fi } # Ejemplo start > Pasá un nombre de branch start new-feature > Se ejecuta "git flow feature start new-feature"
3. Por último, para "avisarle" a zsh que esta función existe ejecutamos
source .zshrc
(Si estamos en nuestro home)Utilizar variables y otros programas dentro de nuestro comando
La contraparte del ejemplo de arriba es un poco más compleja pero sirve para ver otros tips.
function finish() { # Guarda en "branch" el nombre del branch actual local branch=$(git rev-parse --abbrev-ref HEAD) if [ $branch != "develop" ] then git flow feature finish -F else echo "Estás en $branch perro" fi } # Ejemplo # En un repo git en la rama "develop" (develop) finish > Estás en develop perro (new-feature) finish > Se ejecuta "git flow feature finish new-feature -F"
Debugging 🐛
zsh
provee un debugger para probar nuestros comandos.functions -t <nombre_del_comando>
- Cuando ejecutamos nuestro comando,
zsh
imprime cada línea de la función que se ejecuta reemplazando las variables por los valores reales.
functions -t finish finish +finish:2> git rev-parse --abbrev-ref HEAD +finish:2> local branch=develop +finish:4> [ develop '!=' develop ']' +finish:8> echo 'Estás en develop perro' Estás en develop perro