J'essaye de faire un alias avec le paramètre pour mon simple ajout/commit/Push de git.
J'ai vu que Function pouvait être utilisé comme alias, alors j'essaie, mais je ne l'ai pas fait.
avant j'avais:
alias gitall="git add . ; git commit -m 'update' ; git Push"
Mais je veux pouvoir modifier mes commits:
function gitall() {
"git add ."
if [$1 != ""]
"git commit -m $1"
else
"git commit -m 'update'"
fi
"git Push"
}
(Je sais que c'est une pratique git terrible)
Vous ne pouvez pas créer d'alias avec des arguments *, il doit s'agir d'une fonction. Votre fonction est proche, il vous suffit de citer certains arguments au lieu de toutes les commandes, et d'ajouter des espaces dans le []
.
gitall() {
git add .
if [ "$1" != "" ] # or better, if [ -n "$1" ]
then
git commit -m "$1"
else
git commit -m update
fi
git Push
}
*: La plupart des shells n'autorisent pas les arguments dans les alias, je pense que csh et ses dérivés le permettent, mais vous ne devriez pas les utiliser de toute façon .
Si vous avez vraiment besoin d'utiliser un alias avec un paramètre pour une raison quelconque, vous pouvez le pirater en incorporant une fonction dans votre alias et en l'exécutant immédiatement:
alias example='f() { echo Your arg was $1. };f'
Je vois que cette approche est beaucoup utilisée dans les alias .gitconfig.
J'ai utilisé cette fonction dans le fichier .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
}
Ici git Push Origin HEAD
est responsable de pousser votre branche actuelle à distance.
A partir de la commande Invite, exécutez cette commande: gitall "commit message goes here"
Si nous exécutons simplement gitall
sans message de validation, le message de validation sera update
, comme l'indique la fonction.
"git add ."
et les autres commandes entre "
ne sont que des chaînes pour bash, supprimez le "
s.
Vous voudrez peut-être utiliser [ -n "$1" ]
à la place dans votre corps si.