Existe uma maneira de fazer com que o git commit tenha -v como padrão?

Existe uma maneira de fazer com que o git commit tenha -v como padrão?

Eu tenho

git () { [ $1 = commit ] && command git commit -v "${@:2}" || command git "$@"; }

Faz com que git committenha -vcomo padrão, caso contrário, passe os parâmetros e faça qualquer que gitseja o comando.

Mas parece algo que poderia ser encurtado?

Para sua informação, estou reduzindo meu .bashrcarquivo. Até agora, foram reduzidas para 28 linhas (a maioria ainda legíveis).

Responder1

Aqui está uma maneira de não repetir a command gitparte:

git () {
    if [ "$1" = commit ]; then set commit -v "${@:2}"; fi
    command git "$@"
}

Observe que você não deve usar $1sem 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 ifafirma 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

informação relacionada