Eu adicionei __git_ps1 ao meu PS1 em .bash_profile, agora estou ficando (master) para todas as pastas que não são git repos

1

Estou em um Mac (10.6.5). Veja um exemplo do que está errado:

[m@m ~ (master)]$ cd ~/Documents
[m@m ~/Documents (master)]$ cd ~/Applications
[m@m ~/Applications (master)]$ cd ~/Library
[m@m ~/Library (master)]$ cd ~/Sites/somesite
[m@m ~/Sites/somerepo (FEATURE_SOMEFEATURE)]$

Este é o conteúdo relevante do meu .bash_profile:

source ~/.git-completion.bash
PS1='[\u@\h \w$(__git_ps1 " (%s)")]\$ '

Estou usando o script padrão de conclusão do git - acabei de copiá-lo para meu diretório pessoal.

    
por Matthew Caruana Galizia 17.11.2010 / 14:26

2 respostas

1

Eu suspeito que você tenha inicializado seu diretório home como um repositório Git.

Você deve verificar isso verificando a saída de git rev-parse --git-dir em ~/Documents e ~/Applications (ou seja, em qualquer lugar em que você esteja inesperadamente vendo mestre em seu prompt). Os resultados provavelmente lhe dirão que o Git está usando /Users/yourname/.git como o GIT_DIR para esses outros diretórios. Este será o caso de qualquer subdiretório (transitivo) de seu diretório home que não seja ele mesmo outro repositório (ou sob um que esteja mais próximo do que seu diretório home).

O mesmo vale para ter o diretório raiz ou /Users inicializado como um repositório Git (o prompt selecionaria seu status para qualquer coisa abaixo deles que não fosse seu próprio repositório Git (ou sob outro repositório Git)).

    
por 23.12.2010 / 20:04
2

Este é um defeito em __git_ps1. O problema é que o nome da ramificação não é atualizado depois que você alterou o diretório. Mesmo depois de verificar outro ramo, o PS1 ainda mostra o ramo que você retirou antes. Aparece apenas no OS X, no Linux funciona bem.

    
por 28.09.2011 / 12:43

Tags