2012-05-04 18 views
42

He instalado XCode y, por lo tanto, git también está allí. Como quiero tener una versión más nueva de git que instalé usando homebrew.anula git de Xcode con la versión homebrew

Pero la versión homebrew de Git nunca es llamado desde mi camino se parece a esto

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin 

que significa que el /usr/bin/git se llama Allways antes /usr/local/bin/git.

¿Hay alguna manera de cambiar eso sin cambiar la RUTA?

+0

Creé este script para que Xcode use su instalación local de Git en/usr/local/bin. Echale un vistazo. https://gist.github.com/4659915 – Baub

Respuesta

55

Xcode está utilizando realmente el GIT almacenado en /Applications/Xcode.app/Contents/Developer/usr/bin. La misma versión de GIT se instala en /usr/bin cuando instaló las herramientas de línea de comandos como parte de la instalación de Xcode. Por lo tanto, no podrá cambiar lo que Xcode está utilizando (a menos que esté dispuesto a ensuciar con el contenido del paquete Xcode). Si, a partir de una aplicación de terminal, que desea utilizar el GIT homebrew-instalado entonces usted tiene dos opciones:

  1. Referencia GIT con la ruta completa como /usr/local/bin/git ... Para este caso puede crear un alias como alias mgit=/usr/local/bin/git y luego usar mgit ... desde la terminal
  2. Cambie la ruta como PATH=/usr/local/bin:$PATH en su .bashrc o .zshrc si usa el archivo zsh (o cada vez que inicie una terminal en la línea de comandos).
+1

Gracias por la respuesta. Después de todo, cambié el 'PATH' en'/etc/paths'. – BetaRide

+0

Relacionado: http://stackoverflow.com/questions/5364614/is-there-a-problem-with-having-usr-local-bin-before-usr-bin-on-the-path-in-os –

+4

Activado OS X Mountain Lion, uso ".bash_profile" en lugar de ".bashrc". Lo he estado haciendo durante años, aunque no sé dónde lo aprendí o por qué funciona (y .bashrc no.) –

13

Desde Xcode codificado su propia versión de Git que se instala en /Applications/Xcode.app/Contents/Developer/usr/bin/git, pude usar este trabajo alrededor de truco:

  1. cambio en el directorio de Xcode:

    cd /Applications/Xcode.app/Contents/Developer/usr/bin

  2. cambiar el nombre del git de Xcode de esta manera:

    sudo mv ./git ./git-xcode-usr-bin

  3. enlazar mi propia git que se instala a través de homebrew:

    sudo ln -s /usr/local/bin/git ./git

y lo hice lo mismo con /usr/bin/git

Esto Acctually vincular /usr/local/Cellar/git/1.8.0/bin/git (porque yo m use git 1.8.0 en la actualidad)

Cert Esto puede causar algunos otros problemas, como cuando actualizo el git del verion casero en el futuro, no funcionaría para mí :(y entonces tengo que crear un nuevo enlace.

Lo hago así porque quiero resolver mi problema aquí 13177203. Y después de buscar StackOverFlow durante mucho tiempo, finalmente obtuve esta solución.

+2

Aunque, en general, evito jugar con paquetes como este, utilicé esta respuesta. Debido al cambio en las opciones 'push.default' en git 1.8, Xcode me daba el siguiente error y no me permitía agregar activos a mi proyecto:' error: valor incorrecto para push.default: simple. error: debe ser uno de nada, coincidencia, seguimiento o actual. fatal: archivo de configuración incorrecta línea 7 de .gitconfig'. La otra opción habría sido cambiar mi gitconfig a la configuración 1.7. – towynlin

7

Si está utilizando fish shell en lugar de bash, puede señalar su git binario preferido agregando lo siguiente a ~/.config/fish/config.fish.

function git 
    /usr/local/bin/git $argv; 
end 
+0

¡Funcionó como un encanto! Gracias por este consejo. No sabía que podrías hacer esto en concha de pescado. Es muy útil. – Leif