De onde veio / usr / bin / git?

24

Eu tenho um pequeno problema. Em algum momento, usei o git, mas não me lembro se ele foi instalado por padrão no Lion.

Aqui está a versão e o caminho do git:

$ git --version
git version 1.7.5.4
$ which git
/usr/bin/git

Eu também tenho um git mais recente em / usr / local / git

Gostaria de usar a versão mais recente, mas não sei se, removendo a antiga (/ usr / bin tem precedência na variável path), vou quebrar alguma coisa.

Qual é a maneira correta de resolver esse conflito?

cromestante
fonte
9
O git é instalado pelo Xcode. Mas não posso dizer se isso vai quebrar alguma coisa. No seu lugar, eu o renomearia, caso precise colocá-lo novamente mais tarde.
Steven Fisher
ah ok .. Bem, o que vou fazer é renomear o novo instalador do git2 ou algo assim e usá-lo assim.
Cromestant
Eu quis dizer renomear o antigo, em vez de removê-lo. Dessa forma, se você tiver problemas, poderá renomeá-lo novamente.
Steven Fisher
1
@StevenFisher, você deve fazer disso uma resposta. :)
Ian C.
ESTÁ BEM. Eu esperava que alguém tivesse uma resposta real que não tivesse um "eu não sei!" nisso. :)
Steven Fisher

Respostas:

26

O git é instalado pelo Xcode. Duvido que você tenha algum problema se o substituir, mas não posso lhe dar uma resposta definitiva para isso…

  1. O que eu faria é renomear o antigo /usr/bin/gitpara git_old, em seguida, confiar no seu caminho para selecionar o novo.
  2. Se isso não funcionar , mova o novo para /usr/bin. Duvido que o Xcode seja exigente quanto à versão do git que está usando.
  3. Se isso ainda não funcionar , git_oldvolte para /usr/bin/gite use um caminho direto, renomear ou alias para o seu novo.

Eu duvido que você terá que passar o número 1 acima, no entanto. Isso deve ser o suficiente.

Editar: eu li sua postagem original ao contrário. A primeira coisa que você deve fazer é garantir que seu caminho inclua o novo diretório git ANTES do diretório que contém o antigo git.

Steven Fisher
fonte
3 alternativas: confirmando que a primeira funcionou bem.
Marius Butuc
9

Você não precisa invadir a outra versão, a menos que esteja realmente com pouco espaço. Edite seu .bash_profile e verifique se / usr / local / bin ocorre na frente de / usr / bin na sua variável PATH

Pessoalmente, prefiro adotar um esquema com caminhos de ferramentas definidos e o caminho construído a partir deles, por exemplo

GIT_HOME=/usr/local

PATH=${GIT_HOME}/bin:${PATH};export PATH
MANPATH=${GIT_HOME}/share/man:${MANPATH};export MANPATH

Isso significa que qualquer coisa que procure ferramentas usando o PATH encontrará sua versão do git, e qualquer coisa que "realmente precise" ter a versão / usr / bin provavelmente terá esse caminho conectado e ainda poderá encontrá-lo

Kevin
fonte
6

Eu tive o mesmo problema: uma versão antiga do Git que era a versão do Xcode. Tentei instalar uma nova versão do Git em http://git-scm.com/ e atualizei o bash_profilecom

PATH=/usr/local/git/bin:$PATH

Em seguida, recarregue seu bash e tente git --version

Trabalhou para mim :)

davidmatas
fonte
1

No meu sistema (10.7.3, Xcode 4.3.2), o Xcode gitnão está instalado no /usr/bin/git. Todo o Xcode 4 (como todos os aplicativos da App Store, eu acho) está em seu pacote .app. Especificamente, seu git está em /Applications/Xcode.app/Contents/Developer/usr/bin/git.

Eu uso o git (via Xcode) o tempo todo, e não tenho /usr/bin/gitaqui. Portanto, não faz parte da instalação padrão do Lion, ou pelo menos não nesse local.

FWIW, o git no pacote Xcode.app possui um --versionque diz:

git versão 1.7.7.5 (Apple Git-26)

então aposto que a sua /usr/bin/gité a sua própria instalação e atualizá-la não pode prejudicar nada.

Como alternativa, você pode instalar o Xcode (é grátis!) E colocar /Applications/Xcode.app/Contents/Developer/usr/bin/seu $ PATH, mas isso é um exagero se você quiser apenas o git.

Ken
fonte
Eu também tenho o xcode, então tenho três versões do git atualmente instaladas ... boa descoberta!
Cromestant
1
se você não possui /usr/bin/git, provavelmente não instalou o Xcode "Command Line Tools". Veja stackoverflow.com/q/9329243/152142
Justin M. Keyes
1

Ken está correto, pois o git estava disponível apenas através do caminho Xcode.app. Quando instalei o Mountain Lion (10.8), de repente eu tinha o git em / usr / bin / git, então era uma adição do Mountain Lion, até onde eu sei ...

Embora ... Eu instalei algumas coisas desde então e não tenho certeza absoluta de que não era uma dependência para outra coisa.

Tom
fonte
0

Realmente não sei, acho que não instalei o git ou o XCode para o momento, mas depois de instalar o homebrew e executá- brew doctorlo, diz:

$ brew doctor
Warning: /usr/bin occurs before /usr/local/bin
This means that system-provided programs will be used instead of those
provided by Homebrew. The following tools exist at both paths:

    git
    git-cvsserver
    git-receive-pack
    git-shell
    git-upload-archive
    git-upload-pack

Consider setting your PATH so that /usr/local/bin
occurs before /usr/bin. Here is a one-liner:
    echo export PATH="/usr/local/bin:$PATH" >> ~/.bash_profile

Então por que? Acabei de instalar o Command Line Tools para XCode (mountain Lion) e acho que foi ele quem o instalou.

tyoc213
fonte