É 'qual' mentindo para mim?

4

Eu instalei o git via apt-get , mas achei que a versão estava irremediavelmente desatualizada, então eu instalei o git da fonte . O resultado final é bastante intrigante:

$ git --version
git version 1.7.0.4
$ which git
/usr/local/bin/git
$ /usr/local/bin/git --version
git version 1.7.6

Parece que which está mentindo para mim ... o que parece improvável. O que realmente está acontecendo aqui, e como posso obter uma chamada para git para executar a versão correta?

    
por Josh Bleecher Snyder 05.08.2011 / 20:18

2 respostas

13

which está dizendo a verdade. Sua concha está mentindo para você.

git is hashed (/usr/bin/git)

significa que seu shell armazenou em cache esta localização de "git" e está usando o caminho armazenado em cache, em vez de pesquisar $ PATH novamente. Use hash -r para limpar o cache e faça a pesquisa do shell $ PATH para o novo git em /usr/local/bin/git

    
por 05.08.2011 / 20:42
0

Você configurou um alias para o git no seu shell?

$ alias git="/bin/echo This is not the git you are looking for"
$ which git
/usr/bin/git
$ git --version
This is not the git you are looking for --version
$ /usr/bin/git --version
git version 1.7.4.1
$ type git
git is aliased to '/bin/echo This is not the git you are looking for'
$ unalias git
$ type git
git is /usr/bin/git
$ git --version
git version 1.7.4.1
    
por 05.08.2011 / 20:40

Tags