Existe uma maneira de fazer o git commit ter -v como padrão?

0

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 o que for o comando git .

Mas parece algo que poderia ser encurtado?

fyi, estou reduzindo meu arquivo .bashrc . Até 28 (principalmente legível ainda) linhas até agora.

    
por Michael Durrant 12.05.2014 / 00:56

1 resposta

5

Aqui está uma maneira de não repetir o command git part:

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 em torno de substituições de variáveis, a menos que você saiba por que precisa deixá-las de fora.

Não use && e || como atalhos. É fofo e pode salvar alguns caracteres, mas salvar caracteres não faz sentido. A legibilidade é importante e if declara a intenção do código de maneira mais clara.

Você pode querer definir um alias em sua configuração do git (mas você não pode sombrear um comando existente desta forma, você precisa usar um nome diferente), com algo como isto em ~/.gitconfig :

[alias]
co = commit -v
    
por 12.05.2014 / 01:18

Tags