Segui http://blog.bitfluent.com/post/27983389/git-utilities-you-cant-live-without para adicionar git-completion.bash
ao meu/opt/local/etc/bash_completion.d/git-completion
e eu coloquei PS1='\h:\W$(__git_ps1 "(%s)") \u\$ '
no meu .bashrc_profile
Mas agora estou recebendo -bash: __git_ps1: command not found
tudo o que faço cd
.
Você pode me dizer o que estou perdendo?
Respostas:
Instalei o git usando o MacPorts na minha nova instalação do Snow Leopard. Após a instalação do MacPorts a partir da imagem .dmg, estes seriam os comandos no Terminal.app:
Se você também deseja suporte para receber repositórios e documentos SVN, use isso em vez da segunda linha:
Em seguida, adicione o seguinte ao seu ~ / .profile ou ~ / .bash_profile:
ou para MacPorts desde a versão 2.1.2 no Mountain Lion:
ou para MacPorts com versões mais recentes do git:
Nota: o bash 4.1 ou superior é requerido pelo bash_completion.sh. Se a conclusão não funcionar, tente
echo $BASH_VERSION
verificar se esse é o problema. Nesse caso, digite MacPorts bash digitandobash
e tente a conclusão do git novamente.fonte
if [ -f /opt/local/share/git-core/git-prompt.sh ]; then . /opt/local/share/git-core/git-prompt.sh fi
/opt/local/etc/profile.d/bash_completion.sh
precisa do$BASH_VERSION
4.1 ou superior, tive que fazer o seguinte em um Mac OS X 10.8.3 com MacPorts 2.1.3: Alterne o shell de login do Mac OS X do seu padrão/bin/bash
(liberação de 3.2.48 (1)) para MacPorts/opt/local/bin/bash
(4.2 .42 (2) -release) como descrito aqui: stackoverflow.com/a/791244/287984. Basicamenteif [ `grep /opt/local/bin/bash /etc/shells` ]; then echo /opt/local/bin/bash | chsh -s /opt/local/bin/bash; else echo /opt/local/bin/bash | sudo tee -a /etc/shells; chsh -s /opt/local/bin/bash; fi
/bin/bash
no Terminal.app/opt/local/bin/bash
pelo macports + todas as.bash_profile
alterações sugeridas aqui.Se você instalou o git usando homebrew, poderá ajustar um pouco os conselhos do MacPorts e adicioná-los ao seu
.bash_profile
e.bashrc
A melhor maneira de verificar se o git foi instalado corretamente usando o homebrew ist para executar
e verifique a saída para o diretório de instalação da conclusão do git bash
A versão mais recente do Git (1.7.12) também requer o seguinte para ativar o prompt.
fonte
__git_ps1
, consulte superuser.com/a/477749/90231 resposta nesta pilha.Tudo o que você precisa fazer é colocar o
git-completion.bash
arquivo nobin
diretório inicial do usuário e colocar o seguinte em você.profile
ou no.bash_profile
arquivo:O que isso faz é garantir que sua lixeira local esteja no PATH e o
source
comando faça as coisas funcionarem. Então, é claro, a alteração PS1 coloca a ramificação com check-out atualmente no prompt.Portanto, nenhum MacPort é instalado para instalar a versão "conclusão" do GIT (especialmente irritante se você já o tiver instalado).
fonte
$PATH
. Decidi colocar o meu/usr/local/bin/
para que eu não tivesse que modificar o meu existente$PATH
.Embora a resposta atual esteja correta para MacPorts mais antigos, há um novo problema com os MacPorts mais atuais, resultando no mesmo erro.
O pacote atual de conclusão do bash (2.0 r1) requer pelo menos um 4.1 do bash para funcionar corretamente. Como o OS X Terminal usa,
/bin/bash
ele recebe apenas uma versão 3.x. Você precisa alterar as configurações do terminal para usar/opt/local/bin/bash -l
como descrito na documentação do MacPorts aqui: http://trac.macports.org/wiki/howto/bash-completionfonte
Você precisa fornecer as funções de conclusão do comando. Adicione ao seu .bashrc_profile antes do PS1:
fonte
Irritantemente isso foi quebrado mais uma vez. Desta vez, é o pessoal do git com a versão 1.7.12-1. Para permitir que as pessoas tenham apenas a funcionalidade de prompt sem a funcionalidade de conclusão (o que pode tornar as coisas mais lentas), elas refatoraram a funcionalidade de prompt do bash_completion / git e em seu próprio arquivo git-prompt.sh.
Portanto, adicionar bash_completion, conforme descrito por @Lara, fará com que você seja completado (a tecla H1 completa os nomes de tags / ramificações).
Para obter o
__git_ps1
que você pode usar no prompt do PS1, você também precisa adicionar o seguinte ao seu perfil ~ /.. /opt/local/share/doc/git-core/contrib/completion/git-prompt.sh
Alguns antecedentes estão aqui - https://bbs.archlinux.org/viewtopic.php?pid=1163632#p1163632
fonte
Ou com Homebrew
fonte
brew install bash-completion git-extras
embora (traço em vez de sublinhado).Encontrei uma solução para uma pergunta semelhante :
O git-osx-installer vem com ele
git-completion.bash
e o instala/usr/local/git/contrib/completion/
. Basta obter esse arquivo do seu.bash_profile
para obter__git_ps1
.fonte
Para Mountain Lion e Mac-Ports, eu precisava usar as seguintes linhas no meu .bash_profile para obter __git_ps1 e conclusões para executar normalmente:
fonte
Eu uso o brew, portanto, um
bash_completion
script mestre que executa todos os itensbash_completion.d
parece não ser fornecido. As soluções que propõem apenas a execução de um único script para adicionar conclusões git não são extensíveis, porque pacotes diferentes adicionam scripts de conclusão diferentes e você provavelmente deseja executá-los todos. Portanto, eu adicionei isso (adaptado do Arch Linux) ao final de/etc/bashrc
:fonte
Pelo menos com o Xcode 6, você já possui
git-completion.bash
. Está dentro do pacote de aplicativos do Xcode.Basta adicionar isso ao seu .bashrc:
fonte
git br<TAB>
Além da publicação de Adam K. Johnson
Você também pode colocar o seguinte ...
... em seu / etc / profile, se você quiser.
Dessa forma, todos os usuários do sistema se beneficiarão com os scripts de conclusão do bash instalados no diretório "/opt/local/etc/bash_completion.d/".
fonte
Embora a resposta acima do grundprinzip de 2011 ainda funcione bem, eu gostaria de adicionar uma resposta mais recente agora que agora existe um pacote de conclusão do Homebrew ( fórmula , repo ) que torna isso ainda mais fácil. (Isso inclui a conclusão do git, além de outras ferramentas comuns.)
Hoje, o macOS é fornecido com o Bash 3, mas você pode
brew install bash
obter o Bash 4. Se você estiver executando o Bash 4, instale o ramo 2.x mais recente da conclusão do bash.Bash 4
Corre:
Adicionar a
~/.bash_profile
:Bash 3
Se você deseja manter o estoque bash 3.x no macOS, siga estas instruções.
Corre:
Adicionar a
~/.bash_profile
:Referência: http://davidalger.com/development/bash-completion-on-os-x-with-brew/
fonte
Eu acho que você talvez esqueça de buscar o arquivo no seu login
.bashrc
, você pode adicionar algo como:Usar
.
seguido por um espaço executa o arquivo no contexto atual.fonte