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?

cromestant
la source
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.

Steven Fisher
la source
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

Kevin
la source
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 :)

davidmatas
la source
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.

Ken
la source
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.

À M
la source
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é.

tyoc213
la source