Estoy tratando de crear un alias con el parámetro para mi simple git add / commit / push.
He visto que la función se puede usar como alias, así que lo intenté pero no lo logré.
antes de que tuviera:
alias gitall="git add . ; git commit -m 'update' ; git push"
Pero quiero poder modificar mis confirmaciones:
function gitall() {
"git add ."
if [$1 != ""]
"git commit -m $1"
else
"git commit -m 'update'"
fi
"git push"
}
(sé que es una práctica terrible de idiotas)
csh
lo hace, pero no tiene ninguna función. (No sé si no hay ninguna función porque los alias pueden tener parámetros, o si toman parámetros alias porque no hay funciones, o qué.)gitall "my commit message"
? o lo llamaríasgitall('my commit message')
gitall "my commit message"
.getall() {
sin lo anteriorfunction
; claro, es legal de cualquier manera en zsh, pero ese único cambio lo hará compatible con todos los shells compatibles con POSIX.git commit -m "${1:-update}"
(una expansión de parámetro con un predeterminado proporcionado), entonces no necesitaría laif
declaración en absoluto.Si realmente necesita usar un alias con un parámetro por alguna razón, puede piratearlo incrustando una función en su alias y ejecutándola inmediatamente:
alias example='f() { echo Your arg was $1. };f'
Veo que este enfoque se usa mucho en los alias .gitconfig.
fuente
example
.alias example='(){ echo Your arg was $1. ;}'
Usé esta función en el archivo .zshrc:
function gitall() { git add . if [ "$1" != "" ] then git commit -m "$1" else git commit -m update # default commit message is `update` fi # closing statement of if-else block git push origin HEAD }
Aquí
git push origin HEAD
es responsable de impulsar su rama actual en remoto.Desde el símbolo del sistema, ejecute este comando:
gitall "commit message goes here"
Si simplemente ejecutamos
gitall
sin ningún mensaje de confirmación, el mensaje de confirmación seráupdate
como dice la función.fuente
"git add ."
y los otros comandos entre ellos"
son solo cadenas para bash, elimine la"
s.Es posible que desee utilizarlo
[ -n "$1" ]
en su cuerpo if.fuente
Probé la respuesta aceptada (la de Kevin) pero recibí el siguiente error
defining function based on alias `gitall' parse error near `()'
Por lo tanto, cambió la sintaxis a esto, en función del problema de git y funcionó.
function gitall { git add . if [ "$1" != "" ] then git commit -m "$1" else git commit -m update fi git push }
fuente