D'où vient / usr / bin / git?


24

J'ai un petit problème. À un moment donné, j'ai utilisé git mais je ne me souviens pas s'il a été installé par défaut sur Lion.

Voici la version et le chemin de git:

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

J'ai également un git plus récent dans / usr / local / git

Je voudrais utiliser la nouvelle version mais je ne sais pas si en supprimant l'ancienne (/ usr / bin a la priorité dans la variable path) je vais casser quelque chose.

Quelle est la bonne façon de résoudre ce conflit?


9
git est installé par Xcode. Mais je ne peux pas vous dire si ça va casser quoi que ce soit. À votre place, je le renommerais au cas où j'aurais besoin de le remettre plus tard.
— Steven Fisher

ah ok .. Eh bien, ce que je vais faire, c'est simplement renommer le nouvel installt o git2 ou quelque chose et l'utiliser comme ça.
— cromestant

Je voulais renommer l'ancien, plutôt que de le supprimer. De cette façon, si vous avez des problèmes, vous pouvez simplement le renommer.
— Steven Fisher

1
@StevenFisher, vous devriez en faire une réponse. :)
— Ian C.

D'ACCORD. J'espérais que quelqu'un aurait une vraie réponse qui n'aurait pas un "je ne sais pas!" en elle. :)
— Steven Fisher

Réponses:


26

git est installé par Xcode. Je doute que vous ayez des problèmes si vous le remplacez, mais je ne peux pas vous donner de réponse définitive à cela…

  1. Ce que je ferais est Renommez l'ancien /usr/bin/gità git_old, puis compter sur votre chemin pour sélectionner le nouveau.
  2. Si cela ne fonctionne pas , déplacez le nouveau vers /usr/bin. Je doute que Xcode soit pointilleux sur la version de git qu'il utilise.
  3. Si cela ne fonctionne toujours pas , git_oldrevenez à /usr/bin/gitet utilisez un chemin d'accès direct, renommez ou un alias pour votre nouveau.

Je doute que vous deviez cependant dépasser le n ° 1 ci-dessus. Cela devrait suffire.

Edit: j'ai lu votre message d'origine à l'envers. La première chose que vous devez faire est de vous assurer que votre chemin inclut le nouveau répertoire git AVANT le répertoire qui contient l'ancien git.


3 alternatives: confirmer que la première a bien fonctionné.
— Marius Butuc

9

Vous n'avez pas besoin de pirater l'autre version, sauf si vous êtes vraiment à court d'espace. Modifiez votre .bash_profile et assurez-vous que / usr / local / bin se trouve devant / usr / bin dans votre variable PATH

Personnellement, je préfère adopter un schéma avec des parcours d'outils définis et le parcours construit à partir de ceux-ci, par exemple

GIT_HOME=/usr/local

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

Cela signifie que tout ce qui recherche des outils à l'aide du PATH trouvera votre version de git, et tout ce qui "doit vraiment" avoir la version / usr / bin aura très probablement ce chemin câblé et pourra toujours le trouver


6

J'ai eu le même problème: une ancienne version de Git qui était la version Xcode. J'ai essayé d'installer une nouvelle version de Git depuis http://git-scm.com/ et mis à jour le bash_profileavec

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

Rechargez ensuite votre bash et essayez git --version

A travaillé pour moi :)


1

Sur mon système (10.7.3, Xcode 4.3.2), Xcode gitn'est pas installé dans /usr/bin/git. Tout Xcode 4 (comme toutes les applications de l'App Store, je pense) est dans son bundle .app. Plus précisément, son git est à /Applications/Xcode.app/Contents/Developer/usr/bin/git.

J'utilise git (via Xcode) tout le temps, et je n'en ai pas du tout /usr/bin/gitici. Donc, cela ne fait pas partie de l'installation par défaut de Lion, ou du moins pas à cet endroit.

FWIW, le git dans le bundle Xcode.app a un --versionqui se lit comme suit:

git version 1.7.7.5 (Apple Git-26)

donc je parie que /usr/bin/gitc'est votre propre installation, et la mettre à jour ne peut rien faire de mal.

Alternativement, vous pouvez installer Xcode (c'est gratuit!), Et mettre /Applications/Xcode.app/Contents/Developer/usr/bin/votre $ PATH, mais c'est exagéré si vous ne voulez que git.


J'ai également xcode, j'ai donc trois versions de git actuellement installées ... bonne trouvaille!
— cromestant

1
si vous n'en avez pas /usr/bin/git, vous n'avez probablement pas installé les "Outils de ligne de commande" de Xcode. voir stackoverflow.com/q/9329243/152142
— Justin M. Keyes

1

Ken a raison car git n'était disponible que via le chemin Xcode.app. Quand j'ai installé Mountain Lion (10.8), tout à coup, j'ai eu git dans / usr / bin / git, donc c'était un ajout de Mountain Lion pour autant que je sache ...

Bien que ... J'ai installé pas mal de choses depuis et je ne suis pas tout à fait sûr que ce n'était pas une dépendance pour autre chose.


0

Je ne sais vraiment pas, je pense que je n'ai pas installé git ou XCode pour le moment mais après avoir installé homebrew et exécuté, brew doctoril dit:

$ 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

Alors pourquoi? Je viens d'installer les outils de ligne de commande pour XCode (Mountain Lion) et je pense que celui-ci est celui qui l'a installé.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.