単純なgit add/commit/Pushのパラメーターを使用してエイリアスを作成しようとしています。
Functionをエイリアスとして使用できるのを見たので、試してみましたが、作成しませんでした..
私が持っていた前に:
alias gitall="git add . ; git commit -m 'update' ; git Push"
しかし、私は私のコミットを変更できるようにしたい:
function gitall() {
"git add ."
if [$1 != ""]
"git commit -m $1"
else
"git commit -m 'update'"
fi
"git Push"
}
(私はそれがひどいgitプラクティスだと知っています)
引数でエイリアスを作成することはできません*、それは関数でなければなりません。関数は近いので、コマンド全体ではなく特定の引数を引用し、[]
内にスペースを追加するだけです。
gitall() {
git add .
if [ "$1" != "" ] # or better, if [ -n "$1" ]
then
git commit -m "$1"
else
git commit -m update
fi
git Push
}
*:ほとんどのシェルはエイリアスの引数を許可しません。cshと派生物は許可しますが、 とにかく使用すべきではありません 。
何らかの理由でパラメータを持つエイリアスを本当に使用する必要がある場合は、エイリアスに関数を埋め込み、すぐに実行することでハッキングできます。
alias example='f() { echo Your arg was $1. };f'
このアプローチは.gitconfigエイリアスで多く使用されているようです。
.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
}
ここgit Push Origin HEAD
は、現在のブランチをリモートにプッシュする役割を果たします。
コマンドプロンプトから次のコマンドを実行します:gitall "commit message goes here"
コミットメッセージなしでgitall
を実行すると、関数が言ったようにコミットメッセージはupdate
になります。
"git add ."
と"
の間の他のコマンドはbashの単なる文字列です。"
sを削除してください。
Ifボディで代わりに[ -n "$1" ]
を使用したい場合があります。