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

22

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

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

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

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

Me gustaría usar la versión más reciente, 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?

    
pregunta cromestant 03.02.2012 - 01:41

6 respuestas

24

git está instalado por Xcode. Dudo que tengas algún problema si lo reemplazas, pero no puedo darte una respuesta definitiva a eso ...

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

Sin embargo, dudo que tengas que pasar el # 1 arriba. Eso debería ser suficiente.

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

    
respondido por el Steven Fisher 03.02.2012 - 03:30
9

No es necesario que vayas a piratear la otra versión a menos que estés realmente limitado 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 las rutas de herramientas definidas y la ruta creada a partir de estas, 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 utilizando la RUTA 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

    
respondido por el Kevin 03.02.2012 - 14:07
6

Tuve el mismo problema: una versión antigua de Git que era la versión Xcode. Intenté instalar una nueva versión de Git desde enlace y actualicé bash_profile con

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

Luego, vuelve a cargar tu bash y prueba git --version

Funcionó para mí :)

    
respondido por el davidmatas 12.07.2012 - 23:43
1

En mi sistema (10.7.3, Xcode 4.3.2) git de Xcode no está instalado en /usr/bin/git . Todo el Xcode 4 (como todas las aplicaciones de la 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 /usr/bin/git aquí. Entonces, 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 --version que dice:

  

versión 1.7.7.5 de git (Apple Git-26)

así que apuesto a que /usr/bin/git es 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/ en tu $ PATH, pero eso es excesivo si solo quieres git.

    
respondido por el Ken 15.05.2012 - 06:56
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, así que fue una adición de Mountain Lion por lo que puedo decir ...

Aunque ... he instalado algunas cosas desde entonces y no estoy del todo seguro de que no fuera una dependencia para otra cosa.

    
respondido por el Tom 15.08.2012 - 12:20
0

Realmente no lo sé, creo que no he instalado git o XCode por el momento, pero después de instalar Homebrew y ejecutar brew doctor dice:

$ 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ó.

    
respondido por el tyoc213 15.09.2013 - 00:32

Lea otras preguntas en las etiquetas