Назад | Перейти на главную страницу

`Который` мне лжет?

Я установил git через apt-get, но обнаружил, что версия безнадежно устарела, поэтому я установлен git из исходников. Конечный результат довольно загадочный:

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

Кажется, что which лжет мне ... что кажется маловероятным. Что на самом деле здесь происходит и как я могу просто вызвать git для запуска правильной версии?

which говорит правду. Ваша оболочка лжет вам.

git is hashed (/usr/bin/git)

означает, что ваша оболочка кэшировала это местоположение «git» и использует кэшированный путь вместо повторного поиска $ PATH. Использовать hash -r чтобы очистить кеш и заставить оболочку искать $ PATH для нового git в /usr/local/bin/git

Вы установили псевдоним для git в своей оболочке?

$ 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