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 .bashrc
oder .bash_aliases
und 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_aliases
oder ä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, git
rufen Sie Git aber intern auf durch:
command git "$@"
anstatt git "@$"
.
Beachten Sie außerdem:
Für fast jeden Zweck sind Shell-Funktionen Aliasen vorzuziehen.