Eu tenho
git () { [ $1 = commit ] && command git commit -v "${@:2}" || command git "$@"; }
Faz com que git commit
tenha -v
como padrão, caso contrário, passe os parâmetros e faça qualquer que git
seja o comando.
Mas parece algo que poderia ser encurtado?
Para sua informação, estou reduzindo meu .bashrc
arquivo. Até agora, foram reduzidas para 28 linhas (a maioria ainda legíveis).
Responder1
Aqui está uma maneira de não repetir a command git
parte:
git () {
if [ "$1" = commit ]; then set commit -v "${@:2}"; fi
command git "$@"
}
Observe que você não deve usar $1
sem aspas duplas. Sempre use aspas duplas nas substituições de variáveis, a menos que você saiba por que precisa omiti-las.
Não use &&
e ||
como atalhos. É fofo e pode salvar alguns personagens, mas salvar personagens é inútil. A legibilidade é importante e if
afirma a intenção do código de uma forma mais clara.
Você pode querer definir um alias em sua configuração do git (mas você não pode ocultar um comando existente dessa forma, você precisa usar um nome diferente), com algo como isto em ~/.gitconfig
:
[alias]
co = commit -v