Como posso fazer o git entender a abreviação mais curta para um comando?

2

Como eu configuro o git para reconhecer o prefixo único mais curto de um comando, como o git faz com hashes SHA, ou como o mercurial faz?

por exemplo. git ad deve ser reconhecido como git add ou git conf como git config .

É claro que eu poderia fazer isso adicionando um monte de aliases, mas isso é muito frágil em face de novos comandos, e entediante também.

Existe alguma funcionalidade incorporada para fazer isso, ou um plugin?

Já tenho uma integração satisfatória do editor de texto e não estou interessado em aliases.

    
por Squidly 30.03.2015 / 13:00

4 respostas

4

Bem, se você não quiser adicionar aliases, então a melhor abordagem que vem à minha mente é apenas pressionar TAB após o comando. No exemplo:

  • git con + TAB resultará em git config .
  • git com + TAB resultará em git commit .
  • git ad + TAB resultará em git add .
  • etc.

PS: não, não existe essa funcionalidade incorporada.

    
por 13.05.2015 / 18:17
3

Parece que você está pedindo um novo recurso. O Git é de código aberto, para que você possa aprimorá-lo da maneira que quiser:

link

Você pode puxar o código-fonte. Eu vejo que os comandos são definidos sob uma matriz chamada comandos [] inside git.c. E a correspondência parece ser feita dentro da seguinte função:

static struct cmd_struct *get_builtin(const char *s)
{
    int i;
    for (i = 0; i < ARRAY_SIZE(commands); i++) {
            struct cmd_struct *p = commands + i;
            if (!strcmp(s, p->cmd))
                    return p;
    }
    return NULL;
}

Você pode modificar a linha de strcmp () para fazer sua correspondência de prefixo mínimo. Eu acho que não deve demorar mais de 20 linhas de código.

    
por 13.05.2015 / 18:57
0

Aqui está um bom artigo sobre a criação de aliases para comandos do git.

link

Além disso, o seu editor de escolha pode ter integrado a integração do git. Aqui está um exemplo com sublime. Eu não acredito que existam plugins para modificar a estrutura de comando interna do git.

link

    
por 12.05.2015 / 18:38
-1

"em face de novos comandos" - quais novos comandos? Na minha opinião, isso não acontece com muita frequência e, mesmo assim, provavelmente não é um comando que você vai usar com frequência.

Eu recomendaria usar o Zsh com o oh-my-zsh plug-in Git. Ele oferece muitos apelidos úteis .

É claro, você também pode copiar os aliases e usá-los no Bash, mas perderá os ótimos recursos de preenchimento automático. Além disso, você também deve definir as funções auxiliares.

    
por 30.03.2015 / 14:33

Tags