如何建立自訂 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

如果您不了解的話,一般來說,鉤子都很好。


至於別名,您必須為 建立一個別名git,就像在.bashrcor中建立一個函數一樣.bash_aliases,並檢查參數是否為 pull origin master,如果不是則呼叫 git,否則列印警告。或一個名為 git 的自訂腳本的別名 - 實際上是 git 的包裝腳本。

簡而言之,因為別名不能包含空格,因此別名必須是第一個“單字”又稱命令。

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

另請注意:

幾乎所有用途,shell 函數都優於別名。

相關內容