So erstellen Sie eine benutzerdefinierte CLI-Warnung

So erstellen Sie eine benutzerdefinierte CLI-Warnung

Wie kann ich im Terminal eine benutzerdefinierte Warnung einrichten, sodass ich beim Eintippen eines bestimmten Befehls wie

git pull origin master

der Befehl wird nicht ausgeführt und ich erhalte eine Warnmeldung wie

Did you mean git rebase origin/master?

Ich habe überlegt, ein Bash-Skript zu erstellen oder einfach einen Alias ​​in meinem Bash-Profil zu verwenden, bin mir aber nicht sicher, was die beste Methode wäre.

Danke.

Antwort1

Es gibt keine Haken für pre-pull, aber Sie könnten dies nützlich findenhttps://git-scm.com/docs/githooks#_post_merge

Haken sind im Allgemeinen schön, falls Sie sie noch nicht kennen.


Für den Alias ​​müssten Sie einen erstellen git, wie beim Erstellen einer Funktion in .bashrcoder .bash_aliasesund Prüfen, ob die Argumente Pull Origin Master sind. Wenn nicht, rufen Sie Git auf, andernfalls drucken Sie eine Warnung. Oder einen Alias ​​mit dem Namen „Git“ für ein benutzerdefiniertes Skript – praktisch ein Wrapper-Skript für Git.

Kurz gesagt, da ein Alias ​​keine Leerzeichen enthalten darf, müsste der Alias ​​für den ersten"Wort"auch bekannt als Befehl.

In .bash_aliasesoder ähnlich:

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

Oder benennen Sie die Funktion, gitrufen Sie Git aber intern auf durch:

command git "$@"

anstatt git "@$".

Beachten Sie außerdem:

Für fast jeden Zweck sind Shell-Funktionen Aliasen vorzuziehen.

verwandte Informationen