ターミナルで、次のような特定のコマンドを入力したときにカスタム警告を設定するにはどうすればいいでしょうか?
git pull origin master
コマンドは実行されず、次のような警告が表示されます。
Did you mean git rebase origin/master?
bash スクリプトを作成するか、bash プロファイルでエイリアスを使用するかを検討しましたが、最適な方法がわかりません。
ありがとう。
答え1
フックはありませんpre-pull
が、これは役に立つかもしれませんgithooks は、git の post_merge をマージするために使用されます。
フックは、もし知らなかったら、一般的には便利です。
エイリアスについては、またはgit
で関数を作成し、引数が pull origin master であるかどうかを確認し、そうでない場合は 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 "@$"
。
また、次の点にも注意してください:
ほとんどすべての目的において、シェル関数はエイリアスよりも優先されます。