Por exemplo, em uma nova máquina ubuntu, eu acabei de executar sudo apt-get git
e não há conclusão ao digitar, por exemplo git check[tab]
.
Não encontrei nada em http://git-scm.com/docs , mas a conclusão do IIRC está incluída no pacote git atualmente e eu só preciso da entrada correta no meu bashrc.
(cd ~ && exec cat .bashrc | grep completion)
.Respostas:
No Linux
na maioria das distribuições, o script de conclusão do git é instalado no
/etc/bash_completion.d/
(ou/usr/share/bash-completion/completions/git
) quando você instala o git, não é necessário acessar o github. Você só precisa usá-lo - adicione esta linha ao seu.bashrc
:Em algumas versões do Ubuntu, o preenchimento automático do git pode estar quebrado por padrão; a reinstalação executando este comando deve corrigi-lo:
No Mac
Você pode instalar a conclusão do git usando o Homebrew ou o MacPorts.
Homebrew
if
$BASH_VERSION
> 4:brew install bash-completion@2
(versão atualizada) Tenha especial cuidado com a versão do bash que você possui como padrão do MacOS com o lançamento do 3.2.57 (1).adicionar a
.bash_profile
:Para versões mais antigas do bash:
brew install bash-completion
adicionar a
.bash_profile
:MacPorts
sudo port install git +bash_completion
adicione isso ao seu
.bash_profile
:mais informações neste guia: Instalar a conclusão do Gash do Bash
Observe que, em todos os casos, você precisa criar um novo shell (abrir uma nova guia / janela do terminal) para que as alterações entrem em vigor.
fonte
/usr/share/bash-completion/completions/git
./etc/bash_completion.d/git-prompt
é usado para suporte imediato ao git, não para conclusão.brew uninstall bash-completion
ebrew install git
se o git foi instalado por outro método antes, as etapas acima funcionarão.Eu tive o mesmo problema, seguido as etapas abaixo:
adicione as seguintes linhas ao seu
.bash_profile
(geralmente na sua pasta pessoal)fonte: http://code-worrier.com/blog/autocomplete-git/
fonte
export https_proxy=proxy_ip:proxy_port
. Realmente não entendo por que ele não obtém as configurações do sistema.A maioria das instruções que você vê lhe diz para baixar
https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash
e fonte que no seu script de inicialização bash como
.bashrc
.Mas há um problema com isso, porque está fazendo referência à
master
ramificação, que é a versão mais recente dogit-completion.bash
. O problema é que, às vezes, ele falha porque não é compatível com a versão do git que você instalou.De fato, agora isso vai quebrar porque o
master
filialgit-completion.bash
possui novos recursos que requerem o git v2.18, para o qual nenhum dos gerenciadores e instaladores de pacotes atualizou. Você receberá um errounknown option: --list-cmds=list-mainporcelain,others,nohelpers,alias,list-complete,config
Portanto, a solução mais segura é fazer referência à versão / tag que corresponde ao git que você instalou. Por exemplo:
https://raw.githubusercontent.com/git/git/v2.17.1/contrib/completion/git-completion.bash
Observe que ele possui um
v2.17.
no URL em vez demaster
. E então, é claro, certifique-se de fornecer isso no script de inicialização do bash.fonte
/Library/Developer/CommandLineTools/usr/share/git-core/git-completion.bash
Apenas para garantir, eu a diferenciei da versão 2.17.1 no github e ela corresponde.Ubuntu 14.10
Instale
git-core
ebash-completion
Para uso atual da sessão
Para tê-lo sempre ativo em todas as sessões
fonte
Consulte https://github.com/git/git/blob/master/contrib/completion/git-completion.bash
Você só precisa fornecer o script de conclusão
fonte
Basta fazer isso no seu
~/.bashrc
:Outras respostas estão lhe dizendo para instalar
bash-completion
, você não precisa fazer isso, mas se o fizer, não será necessário fornecer a conclusão diretamente. Você faz um ou outro, não os dois.Uma solução mais genérica é consultar o local do sistema, conforme recomendado pelo projeto de conclusão do bash:
fonte
no meu ubuntu há um arquivo instalado aqui:
você pode seguir os links para a
/usr/lib/git-core
pasta Você pode encontrar uma instrução, como configurar o PS1 ou usar__git_ps1
fonte
Pode ser útil para alguém: -
Depois de baixar o arquivo .git-conclusão.bash no link a seguir,
e tentando usar a função __git_ps1, estava recebendo erro como--
Aparentemente, precisamos baixar scripts separadamente do master para fazer esse comando funcionar, pois __git_ps1 é definido no git-prompt.sh. Tão parecido com o download de .git-complete.bash, obtenha o git-prompt.sh:
e adicione o seguinte no seu .bash_profile
source ~ / .bash.git executará o arquivo baixado e
export PS1='\W$(__git_ps1 "[%s]")
O comando anexará o nome da ramificação de check-out após o diretório de trabalho atual (se for um repositório git).Então, será parecido com: -
dir_Name[branch_name]
onde dir_Name é o nome do diretório de trabalho e branch_name será o nome da filial em que você está trabalhando atualmente.Observe - __git_ps1 faz distinção entre maiúsculas e minúsculas.
fonte
Arch Linux
Origem
/usr/share/git/completion/git-completion.bash
em um dos arquivos de inicialização do bash.Por exemplo:
Você pode encontrar o script em outros locais como,
/usr/share/bash-completion/completions/git
mas esses scripts não funcionaram para mim.fonte
Ubuntu
Há uma resposta bonita aqui . Trabalhou para mim no Ubuntu 16.04
janelas
Git Bash é a ferramenta para permitir o preenchimento automático. Não tenho certeza se isso faz parte da distribuição padrão, então você pode achar esse link também útil. A propósito, o Git Bash permite usar comandos de shell do Linux para trabalhar no Windows, o que é ótimo para pessoas que têm experiência no ambiente GNU / Linux.
fonte
No Github no projeto Git, eles fornecem um arquivo bash para o preenchimento automático dos comandos git.
Você deve baixá-lo para o diretório inicial e forçar o bash a executá-lo. São simplesmente duas etapas e são perfeitamente explicadas (passo a passo) na seguinte postagem no blog.
blog preocupado com o código: autocomplete-git /
Eu testei no mac, ele deve funcionar em outros sistemas também. Você pode aplicar a mesma abordagem a outros sistemas operacionais.
fonte