He instalado la versión más reciente 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?
Comentarios
- Tienes un par de buenas respuestas, así que quería comentar la pregunta. ¿Está buscando instrucciones explícitas para instalar git desde la fuente desde homebrew o un cliente GUI o simplemente una confirmación de que OS X incluye varias versiones de git con el sistema operativo principal? opensource.apple.com/source/Git (FWIW – El git más nuevo que he visto ‘ Apple hasta la fecha es 1.7.12.4 que proviene de Git-37)
Responder
Gracias a todos por sus útiles respuestas. En mi caso agregando
export PATH="/usr/local/bin:${PATH}"
en ~/.bash_profile
seguido de
source ~/.bash_profile
resolvió el problema para mi usuario.
Comentarios
- Si desea que el cambio persista entre los usuarios, puede mover
/usr/local/bin
arriba/usr/bin
en/etc/paths
. - Esta es la solución propuesta por Homebrew al ejecutar
brew doctor
para diagnosticar el problema - esta respuesta debe actualizarse con la solución propuesta por KevinT de definir
/etc/paths
. Definir solo la » export » puede no ser suficiente, si/usr/bin
tiene » precedence » sobre/usr/local/bin
(de brew) … - Recuerde para reiniciar la terminal! ‘ no se me ocurrió hasta que vi el comentario de Juan Diego Gonzales ‘ a continuación
- @Souleiman: Reiniciar isn ‘ t necesario.
source ~/.bash_profile
volverá a leer eso. Reiniciar es probablemente más rápido / más fácil. 🙂
Respuesta
Estado 2020
Todos los trucos mencionados aquí en varias respuestas ya no son necesarios en macOS Sierra, Mojave & Catalina con la última versión de Homebrew. Olvídese de export PATH="..."
y las modificaciones a ~/.bash_profile
.
Simplemente haga
brew install git
y ya está.
Para confirmar, abra una nueva ventana / pestaña de terminal y escriba
git --version
No olvide abrir una nueva ventana. Los terminales que estaban abiertos antes de que comenzara a install
no heredarán ningún cambio.
Respuesta
Ok, estoy listo para tomar en serio scm.
$ git --version git version 1.9.5 (Apple Git-50.3)
No, eso no es lo que quería. Yo < 3 homebrew, entonces:
$ brew install git
¿Todo listo?
$ git --version git version 1.9.5 (Apple Git-50.3)
¡Doh! (se 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 export eg en ~ / .zshrc (oh-my-zsh + iTerm2 FTW! / tangent)]
[específicamente: mover / usr / local / bin / git: antes de / usr / bin:]
… y / o (por ejemplo, para permitir que las cosas caseras triunfen sobre las instalaciones del sistema, y que la prioridad se aplique a todos los shells y usuarios) también edite el archivo / etc / routes, [moviendo / usr / local / bin arriba / usr / bin]
Pero asumiendo 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 es el momento de la verdad:
$ git --version git version 2.2.1
w00t! 🙂 ¡Es hora de leer http://git-scm.com ! 🙂
Comentarios
- PS Rel a comentarios sobre los riesgos de editar / usr / bin: IMHO it ‘ s NBD. (Aunque me gusta Global nomad ‘ s sugg. To do » sudo ln -s / usr / local / bin / git / usr / bin / git » … lo que garantiza que todo lo que llame a » / usr / bin / git » obtendrá explícitamente su sistema gestionado por brew. Pero mi opinión es que la instalación de git implica que ‘ está tomando posesión de git en su sistema. , versión alternativa de git, puede estar fuera de lugar. Recomiendo mantenerse actualizado con las versiones de git (por seguridad, no solo por funciones) y administrarlo usted mismo. Homebrew lo hace fácil. /$0.02
- Esto no ‘ No me funciona, para deshacerlo, simplemente haz lo siguiente: sudo mv / usr / bin / git-apple / usr / bin / git. Juan Diego Gonzales funcionó. (Básicamente, siga la respuesta aceptada y luego reinicie el terminal).
- Incluso con
which git
apuntando a/usr/local/bin/git
, esto no fue ‘ No funciona para mí. Para resolver esto, tuve que desinstalar la aplicación GitHub para Mac. - MacOS 10.12.5:
sudo mv /usr/bin/git /usr/bin/git-apple mv: rename /usr/bin/git to /usr/bin/git-apple: Operation not permitted
- Simplemente use
brew doctor
. En 2020, recomendóbrew link —overwrite git
Responder
Una vez que «he instalado la última versión de git a través de brew (brew install git
), ejecute este resumen (como lo sugiere brew doctor
) si no lo es ya está ahí:
echo "export PATH=/usr/local/bin:$PATH" >> ~/.bash_profile
Luego salga de Terminal y ábralo de nuevo (reinicia tu sesión de bash). Debe hacer esto incluso si su PATH ya era correcta, ya que ZSH y Bash almacenan en caché el contenido de PATH (consulte la documentación sobre el comando incorporado hash
).
Eso debería arreglar las cosas muy rápido.
Comentarios
- ¿En qué se diferencia de la respuesta aceptada?
- En En mi caso, ‘ no sabía que tenía que reiniciar Terminal, así que esa parte puede ayudar a algunas personas. Es más rápido que el aceptado debido al revestimiento único. Si ‘ es una competencia, creo que mi respuesta está fuera de lugar. De lo contrario, creo que contribuye. (Dime si quieres que haga una edición en lugar de esto).
- Haz esa línea cuando instalas Homebrew
- Encontré esta respuesta útil. Reiniciar la terminal no es un problema obvio para muchas personas que no están familiarizadas con el funcionamiento de .bash_profile, y un suave recordatorio para el resto de nosotros.
- @JuanDiegoGonzales ¡Excelente observación! Me preguntaba exactamente lo mismo después de instalar git y no ‘ no sabía por qué. Después de la sugerencia de caché , investigué un poco más: unix.stackexchange.com/q/5609/52921
Respuesta
Intenté esto y me funciona.
brew link --overwrite git
Comentarios
- Me funcionó en Mojave (10.14.4)
Respuesta
Cuando escribe
git --version
en Terminal.app o consola, su comentario sobre otra pregunta indica la versión 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á usando Homebrew para instalar y actualizar git, la solución más simple es
- asegúrese de tener derechos de administrador, ya que se le pedirá la contraseña del administrador
-
cambie el nombre de la ubicación original cambiándola con 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.
Comentarios
- ¿Es esto 100% seguro? ¿Romperá algo relacionado con mac?
- Si sigue los pasos descritos, la solución ‘ no romperá nada preinstalado, ya que esos ejecutables git no se eliminan. Es por eso que en el paso 2 debe cambiar el nombre de su / usr / bin / git original por ej. como /usr/bin/git.BACKUP
- Por favor, no ‘ no hagas esto – realmente no deberías ‘ t estar jugando con
/usr/bin
, ya que ‘ es posible que otros programas no ‘ Ni siquiera sé sobre depender de los caprichos asociados con una versión en particular. La solución más sencilla, sin mover nada, es agregar/usr/local/bin
a su$PATH
variable de entorno antes de/usr/bin
– IIRC, homebrew se instala en/usr/local/bin
- Gracias @MattDMo, ese parece ser el mejor enfoque en este caso.
Respuesta
Instale git con brew, luego ejecute esto.
brew link --force git
Cierre y vuelva a abrir la terminal para ejecutar which git
.
Comentarios
- ¿Cómo cambia eso la ruta predeterminada?
- Esto me funcionó para anular xcode ‘ s git.
- Recibí un error al ejecutar esto pero
brew link --overwrite git
funcionó
Respuesta
Tienes que cambiar el nombre el git original de apple en /usr/bin/
a e. gramo. git-org ya que /usr/bin
está normalmente antes de /usr/local/bin
en su directorio de ruta donde están las cosas de preparación.
Entonces:
cd /usr/bin sudo mv git git-org
y no olvides vincular el brew git
brew link git
Esto asume que /usr/local/bin
está en su $PATH
variable de entorno.Si aún tiene problemas, intente ejecutar
brew doctor
y solucione los problemas mencionados allí.
Comentarios
- No cambie el nombre ni cambie las cosas en / usr / bin, ya que podría romper las cosas de Apple y se cambiarán cuando actualice el sistema o XCode. usa la ruta para la que está diseñado,
- @Mark tienes razón. Pero no creo que tenga problemas si cambia solo git en / usr / bin. Para mí, está funcionando durante varios meses.
- Estoy de acuerdo en que normalmente cambiar las cosas en / usr / bin es una mala noticia, pero no puedo ‘ recordar el sistema operativo X usa realmente git, por lo que el daño puede ser minúsculo y solo se relaciona con un sistema » limpio » que coincide con los recibos. El daño sería que una actualización de OS X podría reemplazar el nuevo git con una versión anterior, de ahí la práctica normal de ubicar un nuevo binario fuera de la ubicación de la ruta del sistema.
- Creo que sería mucho más fácil agregar
/usr/local/bin
(homebrew ‘ s directorio de instalación, IIRC) al$PATH
antes de/usr/bin
en lugar de perder el tiempo con el cambio de nombre y la copia de seguridad, etc.
Responder
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.
- Instale git desde git-scm .com
- Lo más probable es que el nuevo git se instale en
/usr/local/bin/git
- Pruebe
git --version
, si devuelve la versión anterior de Apple de git, proceda a continuación -
cd ~
(cambie el directorio a su directorio de inicio) - escriba
vi .bashrc
- Utilice
i
(para insertar texto en el editor vi) - Si encuentra una línea con
export PATH.......
, presione enter en la parte superior de la exportación y escriba lo siguiente:export PATH=/usr/local/:$PATH
(Tenga mucho cuidado con la variablePATH
no lo estropee, de lo contrario causará problemas a su sistema operativo) (con suerte el nuevo git debe instalarse en/usr/local/git
) - Presione esc
- Ingrese
:wq
(para guarde el archivo.bashrc
) - Salga de la terminal e inicie una nueva terminal
- Ahora intente
git --version
(debería ver una nueva versión)
Responder
Haga un alias simple para evitar cambiar la ruta:
alias git=/usr/local/bin/git
Responder
«He intentado muchas cosas, incluida toda esta publicación» s respuestas. Finalmente pude hacer que se ejecutara la versión brew de git en lugar de Xcode simplemente eliminando la carpeta de herramientas adicionales de Xcode:
sudo rm -rf /Library/Developer/CommandLineTools
Respuesta
Cuando use brew install git
para la instalación, observe que instala git
en:
==> Summary 🍺 /usr/local/Cellar/git/2.29.2: 1,480 files, 39.7MB
Lo hará también aparece un error, que aparece antes en el registro y probablemente se lo pasó por alto:
==> Downloading https://homebrew.bintray.com/bottles/git-2.29.2.big_sur.bottle.t Already downloaded: /Users/chadjinik/Library/Caches/Homebrew/downloads/08165d120fcebc7823c487a6778b2ea0e67fd2cd9177d6e7d656268f474ab5da--git-2.29.2.big_sur.bottle.tar.gz ==> Pouring git-2.29.2.big_sur.bottle.tar.gz Error: The `brew link` step did not complete successfully The formula built, but is not symlinked into /usr/local Could not symlink bin/git Target /usr/local/bin/git already exists. You may want to remove it: rm "/usr/local/bin/git" To force the link and overwrite all conflicting files: brew link --overwrite git
Simplemente ejecute:
brew link --overwrite git
y debería estar bien.
Respuesta
Depende de dónde venga tu git. Xcode trae una versión, por ejemplo, tal vez sea por adelantado en tu ruta.
Tal vez escribiendo
which git
se mostrará dónde está el anterior.
Comentarios
- it ‘ s en
/usr/bin/git
… - Parecen dos instalaciones. Creo que la versión normal (descargable) de git va a / usr / local / git / … Es ‘ s luego una cuestión de agregar eso a la ruta o eliminar el otro (o ambos)