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"
- 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