Se eu fizer isso:
alias g='git'
Perco todas as regras de conclusão (ou seja, ramificações e controles remotos não estão mais sendo concluídos automaticamente quando clico em TAB após digitar, por exemplo g push o
).
command-line
bash
git
auto-completion
Paweł Gościcki
fonte
fonte
g=git
756 vezes no mês passado, o que significa que salvei pressionando as teclas 'g' e 'i' 1512 vezes no total. Isso, combinado com meus apelidos git, provavelmente me salva dezenas de milhares de pressionamentos de tecla por mês.Respostas:
Copiando e modificando oportunamente de
/etc/bash_completion.d/git
, adicione as seguintes linhas ao seu~/.bashrc
:fonte
source /usr/share/bash-completion/completions/git
ao meu .bashrc.bashrc
código aqui funciona, mas esta resposta está definitivamente desatualizada./etc/bash_completion.d/git
parece não existir em 14.04. Veja a resposta do lzap abaixo.A última conclusão do bash-upstream mudou e renomeou as coisas um pouco. É neve:
Use isso nas versões recentes do Ubuntu (por exemplo, 14.04, também Fedora 22+) quando você encontrar:
durante a conclusão.
fonte
__git_complete gc _git_checkout
(ou similar) para configurar conclusões para aliases mais específicos. Pesquise/usr/.../git
como acima para encontrar o nome certo.gc
=>git checkout
), em vez de aliasingc
paracheckout
dentrogit
e para dizergit c
. Corrija-me se eu estiver errado.Em
~/.bashrc
:Via http://29a.ch/2013/8/9/fixing-bash-autocomplete-on-ubuntu-13-04
fonte
Primeiro, procure o comando de conclusão original. Exemplo:
Agora adicione-os ao seu script de inicialização (por exemplo, ~ / .bashrc):
A
_completion_loader
linha pode não ser necessária. Mas, em algumas situações, a função de conclusão é carregada dinamicamente somente depois que você digita o comando e pressionaTAB
pela primeira vez. Portanto, se você não tiver usado o comando original e tentar o alias +TAB
, poderá receber um erro como "bash: conclusão: função não encontrada".fonte
A maneira atualizada de fazer isso (completo não funcionaria para mim):
cd
- mude para o seu diretório pessoalwget https://raw.github.com/git/git/master/contrib/completion/git-completion.bash
source ~/git-completion.bash
ao seu arquivo .bashrc (se você não tiver esse arquivo, crie um na sua pasta pessoal, o bash o procurará automaticamente)alias g='git'
ao seu arquivo .bashrc.source ~/.bashrc
fonte
__git_complete g _git
Por uma questão de integridade, gostaria de adicionar uma resposta usando o
~/.bash-completion
arquivo, que é obtido no final do script de conclusão do bash:Então na minha
~/.bashrc
eu tenho apenas os pseudônimos. Eu estava tentando:~/.bashrc
com o material de conclusão do bash (mantenha o material onde ele pertence) ✓De qualquer maneira, as
_xfunc
fontes não concluem a conclusão do git. Atualizarei esta resposta assim que descobrir como fazê-lo corretamente (também perguntei no lunchpad aqui ).fonte
Veja aqui: https://gist.github.com/scue/576310b7c6b7714aad05
Aproveite! (^ O ^) /
fonte
Você pode apenas definir aliases como de costume:
Em seguida, instale o alias completo para tornar o reconhecimento do alias da conclusão do bash.
fonte