0 votos

Cómo restaurar la versión predeterminada de Apple de Git después de cambiar el nombre en Mac OS Mojave y vincular git a la versión homebrew?

Quería que Mac OS utilizara mi versión casera de git después de brew install git . Así que por error cambié el nombre de mi git por defecto de Apple haciendo:

$mv /usr/bin/git /usr/bin/git~apple
$ git --version
git version 2.25.0

Estoy intentando desinstalar la versión homebrew de git, y volver a la versión de Apple de git.

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/MacGPG2/bin

$ which git
/usr/local/bin/git

$ brew uninstall git
Uninstalling /usr/local/Cellar/git/2.25.0... (1,523 files, 45.6MB)
$cp /usr/bin/git~apple /usr/bin/git

$mv /usr/bin/git~apple /usr/bin/git

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/MacGPG2/bin

$ which git
/usr/bin/git

$ git --version
-bash: /usr/local/bin/git: No such file or directory

Parece que después de desinstalar homebrew y mover el archivo original de git de nuevo a su ubicación, que git encuentra la correcta $PATH para git, pero git --versión no puede encontrar git. ¿Cómo puedo restaurar correctamente la versión original de Apple de git?

1voto

Los shells recuerdan las rutas de los comandos que has ejecutado durante una sesión. Puedes utilizar la opción hash para gestionar las rutas recordadas (desde man bash ):

hash [-lr] [-p filename] [-dt] [name]
For each name, the full file name of the command is determined by searching the directories
in $PATH and remembered. If the -p option is supplied, no path search is performed, and filename
is used as the full file name of the command. The -r option causes the shell to forget all 
remembered locations. The -d option causes the shell to forget the remembered location of each
name. If the -t option is supplied, the full pathname to which each name corresponds is printed.
If multiple name arguments are supplied with -t, the name is printed before the hashed full pathname.
The -l option causes output to be displayed in a format that may be reused as input. If no arguments
are given, or if only -l is supplied, information about remembered commands is printed. The 
return status is true unless a name is not found or an invalid option is supplied.

Ejecutar hash -r para borrar las rutas de comandos que el shell haya almacenado en la caché (o hash -d git para eliminar la entrada de git ). Abrir una nueva pestaña/ventana de Terminal tiene el mismo efecto.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X