端末で次の特定のコマンドを入力するときにカスタム警告を設定するにはどうすればよいですか?
git pull origin master
コマンドは実行されず、次の警告出力が表示されます。
Did you mean git rebase origin/master?
私はbashスクリプトを作成するか、単にbash設定ファイルにエイリアスを使用することを考えてみましたが、最善のアプローチが何であるかわかりません。
ありがとうございます。
ベストアンサー1
フックはありませんが、pre-pull
便利かもしれません。https://git-scm.com/docs/githooks#_post_merge
わからない場合、フックは一般的に大丈夫です。
エイリアスの場合は、orで関数を生成し、引数が元のマスターインポートであるgit
ことを確認し、そうでない場合はgitを呼び出すのと同じようにエイリアスを作成する必要があります。それ以外の場合は警告を印刷します。あるいは、gitというカスタムスクリプトのエイリアスです。実際にはgit用のラッパースクリプトです。.bashrc
.bash_aliases
つまり、エイリアスにスペースを含めることはできないため、エイリアスは最初にする必要があります。「単語」コマンドとも呼ばれます。
または.bash_aliases
同様のもの:
mygit()
{
if [ "$1" = "pull" ] && \
[ "$2" = "origin" ] && \
[ "$3" = "master" ]; then
printf 'Did you mean git rebase origin/master?\n' >&2
return 1
else
git "$@"
fi
}
alias git=mygit
または、関数名を指定git
して内部的にgitを呼び出します。
command git "$@"
変えるgit "@$"
。
また注:
ほとんどすべての目的で、シェル関数はエイリアスより優れています。