He instalado la versión más nueva de git (1.8.3) usando homebrew pero cuando escribo
git --version
en mi terminal, imprime:
git version 1.7.10.2 (Apple Git-33)
¿Qué debo hacer para reemplazar la versión anterior de git por la nueva?
He instalado la versión más nueva de git (1.8.3) usando homebrew pero cuando escribo
git --version
en mi terminal, imprime:
git version 1.7.10.2 (Apple Git-33)
¿Qué debo hacer para reemplazar la versión anterior de git por la nueva?
Respuestas:
Gracias a todos por las respuestas útiles. En mi caso agregando
export PATH="/usr/local/bin:${PATH}"
en ~/.bash_profileseguido de
source ~/.bash_profile
resuelto el problema para mi usuario.
/usr/local/binpor encima /usr/binde /etc/paths.
brew doctorpara diagnosticar el problema
/etc/paths. Definir solo la "exportación" puede no ser suficiente, si /usr/bintiene "prioridad" sobre /usr/local/bin(del brew) ...
Ok, estoy listo para tomarme en serio la ciencia ficción.
$ git --version
git version 1.9.5 (Apple Git-50.3)
No, eso no es lo que quería. I <3 homebrew, entonces:
$ brew install git
¿Todo listo?
$ git --version
git version 1.9.5 (Apple Git-50.3)
Doh! (rasca la cabeza)
$ which git
/usr/bin/git
Ah, el git de Apple está en / usr / bin, por lo que supera al homebrew. ¿Qué hacer?
(A) Simplemente cambie el nombre del binario de Apple
(B) Deje que uno administrado por homebrew tenga prioridad:
[editar PATH exportar, por ejemplo, en ~ / .zshrc (oh-my-zsh + iTerm2 FTW! / tangent)]
[específicamente: move / usr / local / bin / git: before / usr / bin:]
... y / o (por ejemplo, para permitir más ampliamente que las cosas de homebrew triunfen en las instalaciones del sistema y que la prioridad se aplique a todos los shells y usuarios) también edite el archivo / etc / path, [moving / usr / local / bin encima / usr / bin ]
Pero suponiendo solo el enfoque más simple / menos invasivo:
$ sudo mv /usr/bin/git /usr/bin/git-apple
¿Funcionó?
$ which git
/usr/local/bin/git
Hasta ahora todo bien, ahora el momento de la verdad:
$ git --version
git version 2.2.1
w00t! :) ¡Es hora de ir a leer http://git-scm.com ! :)
which gitseñalando /usr/local/bin/git, esto no funcionó para mí. Para resolver esto, tuve que desinstalar la aplicación GitHub Mac.
sudo mv /usr/bin/git /usr/bin/git-apple mv: rename /usr/bin/git to /usr/bin/git-apple: Operation not permitted
Todos los trucos mencionados aquí en varias respuestas ya no son necesarios en macOS Sierra & Mojave con el último Homebrew. Olvídate export PATH="..."y modificaciones a ~/.bash_profile.
Simplemente lo haces
brew install git
y listo
Para confirmar, abra una nueva ventana de terminal (!) Y escriba
git --version
brew link --overwrite gitfuncionó para mí
Una vez que haya instalado el último git a través de brew ( brew install git), ejecute esta línea (como lo sugiere brew doctor) si aún no está allí:
echo "export PATH=/usr/local/bin:$PATH" >> ~/.bash_profile
Luego salga de Terminal y ábralo nuevamente (reinicie su sesión bash). Debe hacer esto incluso si su RUTA ya era correcta, ya que ZSH y Bash almacenan en caché el contenido de RUTA (consulte la documentación sobre el comando incorporado hash).
Eso debería arreglar las cosas muy rápido.
Cuando escribes
git --version
en Terminal.app o consola, su comentario sobre otra pregunta indica que la versión que devuelve es el git en / usr / bin / git
Si instaló Xcode 4.5 (y más reciente), y escriba
xcrun git --version
en Terminal.app o consola, la versión que devuelve es el git en el paquete de la aplicación Xcode.
Si está utilizando Homebrew para instalar y actualizar git, la solución más simple es
cambie el nombre de la ubicación original renombrándola usando mv. Por ejemplo
sudo mv / usr / bin / git / usr / bin / git-ORIGINAL
cree un enlace suave usando 'ln -s' al binario git que instaló con Homebrew.
Tenga en cuenta que MattDMo tiene una mejor solución en los comentarios.
/usr/bin, ya que es posible que otros programas que ni siquiera conoces dependan de los caprichos asociados con una versión en particular. La solución más fácil, sin mover nada, es agregar /usr/local/bina su $PATHvariable de entorno antes /usr/bin- IIRC, homebrew se instala en/usr/local/bin
Intenté esto y me funciona.
brew link --overwrite git
Debe cambiar el nombre del git original por apple en, /usr/bin/por ejemplo, git-org, ya /usr/binque normalmente está antes /usr/local/binen su directorio de ruta donde está el material de preparación.
Entonces:
cd /usr/bin
sudo mv git git-org
y no olvides vincular el brew git
brew link git
Esto supone que /usr/local/binestá en su $PATHvariable de entorno. Si aún tiene problemas, intente ejecutar
brew doctor
y solucionar los problemas mencionados allí.
/usr/local/bin(directorio de instalación de homebrew, IIRC) al $PATHfrente en /usr/binlugar de perder el tiempo con el cambio de nombre y la copia de seguridad, etc.
Instale git con brew, ejecute esto.
brew link --force git
Cierre y vuelva a abrir la terminal para ejecutar which git.
brew link --overwrite gitfuncionó
Si está instalando git desde git-scm.com directamente y desea utilizar la última versión descargada de git en lugar de la versión de Apple (antigua) de git.
/usr/local/bin/gitgit --version, si devuelve la versión anterior de Apple de git, continúe a continuacióncd ~ (cambie el directorio a su directorio de inicio)vi .bashrci(para insertar texto en el editor vi)export PATH......., presione Intro en la parte superior de la exportación y escriba lo siguiente: export PATH=/usr/local/:$PATH(Tenga mucho cuidado con la PATHvariable, no la estropee, de lo contrario causará problemas para su sistema operativo) (con suerte, se debe instalar un nuevo git /usr/local/git):wq(para guardar el .bashrcarchivo)git --version(debería ver una nueva versión)Depende de dónde provenga tu git. Xcode trae una versión, por ejemplo, tal vez eso sea por adelantado en su camino.
Tal vez escribiendo
which git
mostrará dónde está el viejo.
/usr/bin/git...
Para actualizar cualquier cosa usando Homebrew en OSX que implique compilación usando gcc, asegúrese de tener las herramientas de línea de comandos actualizadas de Xcode; sí, lo sé, apesta tener que ocultar una herramienta de todo el sistema en las preferencias de una aplicación.
brew doctory repare todos los demás obstáculosbrew upgradepara actualizar todos los paquetes a la vez