カスタムCLIアラートを生成する方法

カスタムCLIアラートを生成する方法

端末で次の特定のコマンドを入力するときにカスタム警告を設定するにはどうすればよいですか?

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 "@$"

また注:

ほとんどすべての目的で、シェル関数はエイリアスより優れています。

おすすめ記事