¿De dónde vino / usr / bin / git?


24

Tengo un pequeño problema. En algún momento usé git pero no recuerdo si se instaló por defecto en Lion.

Aquí está la versión y ruta de git:

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

También tengo un git más nuevo en / usr / local / git

Me gustaría usar la versión más nueva, pero no sé si al eliminar la anterior (/ usr / bin tiene prioridad en la variable de ruta), romperé algo.

¿Cuál es la forma correcta de resolver este conflicto?


99
git es instalado por Xcode. Sin embargo, no puedo decirte si romperá algo. En tus zapatos, lo cambiaría de nombre en caso de que necesite volver a ponerlo más tarde.
Steven Fisher

ah ok ... Bueno, lo que haré es cambiar el nombre de la nueva instalación de git2 o algo así y usarlo así.
cromestant

Me refería a cambiar el nombre del anterior, en lugar de eliminarlo. De esa manera, si TIENE problemas, puede cambiarle el nombre.
Steven Fisher

1
@StevenFisher deberías hacer eso una respuesta. :)
Ian C.

OKAY. Esperaba que alguien tuviera una respuesta real que no tuviera un "¡No lo sé!" en eso. :)
Steven Fisher

Respuestas:


26

git es instalado por Xcode. Dudo que tenga algún problema si lo reemplaza, pero no puedo darle una respuesta definitiva a eso ...

  1. Lo que haría es cambiar el nombre del antiguo /usr/bin/gita git_old, luego confiar en su ruta para seleccionar el nuevo.
  2. Si eso no funciona , mueva el nuevo a /usr/bin. Dudo que Xcode sea exigente con respecto a la versión de git que está usando.
  3. Si eso todavía no funciona , git_oldretroceda /usr/bin/gity use una ruta directa, un cambio de nombre o un alias para el nuevo.

Sin embargo, dudo que tengas que pasar el # 1 anterior. Eso debería bastar.

Editar: leí tu publicación original al revés. Lo primero que debe hacer es asegurarse de que su ruta incluya el nuevo directorio git ANTES del directorio que contiene el antiguo git.


3 alternativas: confirmar que la primera funcionó bien.
Marius Butuc

9

No necesita ir hackear la otra versión a menos que esté realmente apretado por el espacio. Edite su .bash_profile y asegúrese de que / usr / local / bin aparezca delante de / usr / bin en su variable PATH

Personalmente, prefiero adoptar un esquema con rutas de herramientas definidas y la ruta construida a partir de estos, por ejemplo

GIT_HOME=/usr/local

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

Esto significa que cualquier cosa que busque herramientas usando PATH encontrará su versión de git, y cualquier cosa que "realmente deba" tener la versión / usr / bin probablemente tendrá esa ruta conectada y aún puede encontrarla.


6

Tuve el mismo problema: una versión anterior de Git que era la versión Xcode. Intenté instalar una nueva versión de Git desde http://git-scm.com/ y actualicé el bash_profilecon

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

Luego recarga tu bash y prueba git --version

Trabajó para mi :)


1

En mi sistema (10.7.3, Xcode 4.3.2) Xcode's gitno está instalado /usr/bin/git. Todo Xcode 4 (como todas las aplicaciones de App Store, creo) está en su paquete .app. Específicamente, su git está en /Applications/Xcode.app/Contents/Developer/usr/bin/git.

Uso git (a través de Xcode) todo el tiempo, y no tengo nada /usr/bin/gitaquí. Por lo tanto, no es parte de la instalación predeterminada de Lion, o al menos, no en esa ubicación.

FWIW, el git en el paquete Xcode.app tiene un --versionque dice:

git versión 1.7.7.5 (Apple Git-26)

así que apuesto a que tu /usr/bin/gites tu propia instalación, y actualizarla no puede dañar nada.

Alternativamente, puedes instalar Xcode (¡es gratis!) Y poner /Applications/Xcode.app/Contents/Developer/usr/bin/tu $ PATH, pero eso es excesivo si solo quieres git.


También tengo xcode, así que tengo tres versiones de git instaladas actualmente ... ¡buen hallazgo!
cromestant

1
si no lo tiene /usr/bin/git, probablemente no instaló las "Herramientas de línea de comandos" de Xcode. ver stackoverflow.com/q/9329243/152142
Justin M. Keyes

1

Ken tiene razón en que git solo estaba disponible a través de la ruta Xcode.app. Cuando instalé Mountain Lion (10.8), de repente tuve git en / usr / bin / git, por lo que fue una adición de Mountain Lion hasta donde puedo decir ...

Aunque ... he instalado bastantes cosas desde entonces y no estoy completamente seguro de que no haya sido una dependencia para otra cosa.


0

Realmente no lo sé, creo que no he instalado git o XCode para el momento pero después de instalar homebrew y ejecutarlo brew doctordice:

$ 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

¿Entonces por qué? Acabo de instalar Command Line Tools para XCode (mountain Lion) y creo que este es el que lo instaló.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.