2011-05-04 20 views
14

Estoy usando git como mi sistema de control de revisiones. Para hacerlo, instalé msysGit para realizar mis depósitos en MSW. Ahora quiero compilar mis programas con MinGW y encontré este "problema" para mí: Cuando instalo MinGW y MSYS a través de mingw-get puedo compilar mi programa, no hay problema. Pero no puedo acceder a git. Cuando uso el Git Bash, puedo trabajar con git, pero no puedo compilar.Usando msysGit desde MinGW y viceversa

¿Hay alguna posibilidad de:

  • instalar MinGW "en" Git Bash (porque ya contiene MSYS, ¿verdad?) O
  • para establecer "vínculos" entre ambas instalaciones para hacer funciona.

Prefiero la forma en que puedo mantener ambos paquetes actualizados más fácilmente.

Gracias de antemano :)

+0

relacionada: http://stackoverflow.com/questions/5648330/combining-mingw-and-git – leonbloy

Respuesta

7

¿Cómo instalar msysgit? ¿Elegiste la tercera opción en la pantalla donde solicita la configuración de PATH?

enter image description here

(por encima de captura de pantalla de:. http://ekkescorner.files.wordpress.com/2010/02/git-windows-msysgit-install-3.png)

Tienes que elegir la tercera opción o incluso segundos puede ser suficiente.

A continuación se captura de pantalla de mi MingW

enter image description here

De todos modos, es todo acerca de la configuración ruta adecuada al git.exe en msysgit, o me estoy perdiendo algo?

+1

utilicé la segunda opción cuando se instala. Justo cuando ingreso _donde git_ obtengo el archivo _git.cmd_. Así que agregué el directorio de bin manuelly a PATH y funciona. Gracias :) – tbolender

10

Puede agregar un enlace simbólico a git en MinGW, si elige la segunda opción.

Así que si su instalación msysgit se encuentra en C: \ Archivos de programa (x86) \ Git Abrir la cáscara MinGW y tipo:

cd /usr/bin 
ln -s /c/Program\ Files\ \(x86\)/Git/bin/git git 

Esto creará un enlace simbólico llamado git en/usr/bin de MinGW apuntando a la instalación de msysgit. Luego puede usar el comando git en cualquier lugar desde el shell MinGW.

+0

Me alegro de ver la cordura regresar como en los innumerables otros hackeos dejando no solo al lector sino al autor asombrado con: Wow, en realidad funciona. Sigo pensando, symlinks a alguien? Lo que realmente me desconcierta, ¿por qué dos entornos msys para empezar? –

+0

msysGit es un subconjunto de msys pero también incluye utilidades adicionales que pueden ser necesarias con git como ssh, curl y vi. Incluso empeora si también tiene RubyDevKit instalado mientras obtiene otro msys. – oenpelli

+0

Cuando intento esto desde mi símbolo de MinGW/MSYS (msys-base 2013073200 - actual desde el 8 de marzo de 2015), el enlace simbólico resultante no puede invocar 'git.exe' correctamente:' error al ejecutar git: el nombre de archivo o extensión es demasiado largo .' Lo que sí funciona, sin embargo, es agregar '$ PATH' a través de' ~/.profile'; por ejemplo, 'PATH =" $ PATH:/c/archivos de programa (x86)/git/cmd "' – mklement0

1

Debe reparar la ruta para que esté ejecutando los comandos externos que coincidan con el entorno msys o msysgit. Dependiendo de cómo haya instalado estos dos entornos de shell, uno de ellos será el primero en la RUTA, por lo que independientemente de qué bash esté ejecutando, ejecutará comandos externos desde el directorio bin que está primero en la RUTA.

Puede probar esto ejecutando ls.exe desde los diferentes shell bash, encontré uno funcionó y otro no, pero cuando arreglé el PATH ambos funcionaron.

Traté de encontrar un script inteligente que funcionara para ambos, pero es difícil ya que ambos asignan su propio directorio bin a/bin. Cuando me cansé de intentar resolver esto, creé msys.sh y msysgit.sh con la línea:

export PATH=/c/MinGW/msys/1.0/bin:/c/MinGW/bin:${PATH} 

o

export PATH="/c/Program Files (x86)/Git/bin:${PATH}" 

respectivamente. Estos archivos deben ser originados en el entorno que está ejecutando. Por ejemplo:

source ./msys.sh 

En realidad sólo necesita un guión como un entorno va a funcionar, pero también me ha instalado RubyDevKit que tenía el mismo problema por lo que parecía más simple para crear una secuencia de comandos para cada entorno.

0

Si desea que la ruta cambie cada vez que inicie su git bash en Windows. Es necesario hacer los siguientes pasos:

  1. En ventana de Ejecutar, escriba "Git Bash"
  2. Vim ~/.profile
  3. Añadir "export PATH =/c/MinGW/MSYS/1.0/bin:/c/MinGW/bin: $ {PATH} "a la última línea del archivo. (El MinGW debe ubicarse en C: \ MinGW)
  4. : wq, existe el vim.
  5. salida de la fiesta de Git, y reiniciar de nuevo