Pregunta

Esto está relacionado con otra pregunta que hice recientemente.

Al instalar msysgit, el instalador presenta 3 opciones relacionadas con la ruta del sistema:

  1. Nunca cambie el entorno de Windows. Con esta opción, tienes que usar " bash " shell para trabajar con git.

  2. Agregue el directorio git \ bin a la variable de entorno PATH, pero sin anular algunas herramientas integradas de Windows. El compañero stackoverflow-ian Gabe Moothart me dijo en un comentario que esta opción hará Algunas operaciones de git fallan! ¿Cuáles son estas operaciones? ¿Debería preocuparme por ellos?

  3. Igual que 2, pero reemplaza algunas herramientas predeterminadas del sistema. ¿Cuáles son estas herramientas? ¿Qué partes de las ventanas dependen de ellas? y esto dolerá en la práctica?

Se me ha ocurrido otra cuestión, no relacionada con el sistema PATH.

¿Qué sucede si tengo enlaces simbólicos y enlaces duros dentro del directorio de mi proyecto? ¿Git sabe cómo tratar con estos? o, ¿sufrirá una recursión infinita, por ejemplo, la estructura del directorio fue tal que alguna carpeta fue en realidad un enlace simbólico a uno de sus padres?

¿Fue útil?

Solución

Obtienes bash independientemente de la opción que elijas, las últimas opciones simplemente agregan métodos para usar Git fuera de él.

Para las últimas opciones, msysgit agrega las versiones de Windows de las utilidades comunes de Linux a PATH . Esto incluye find , kill y sort así como cp , ls , rm y unos 20-30 más.

El problema con los primeros 3 (y similares) es que existen en ambos sistemas operativos y funcionan de manera diferente en cada uno.

No es una gran experiencia si sabe cuál va a usar, pero cualquier aplicación desarrollada que espere una y obtenga la otra seguramente dará un ataque.


Para evitar el conflicto, mientras Git sigue funcionando como se espera, puede crear un script por lotes simple que ajuste PATH solo para la sesión. (por ejemplo, readygit.bat )

@echo off
setlocal
set PATH=C:\Git\bin;%PATH%
cmd

Ajuste C: \ Git \ bin en consecuencia. Pero, simplemente ejecuta esto y usa Git dentro del cmd .

Con esto, puedes usar la opción de instalación 3 y eliminar de forma segura C: \ Git \ bin de PATH de tu sistema, eliminando cualquier confusión en las aplicaciones de Windows sin confundir a Git.

Actualmente utilizo un script similar con GnuWin , incluidas las aplicaciones < strong> find .

Otros consejos

Es posible que desee tener en cuenta que:

  • Todos los comandos git no están todavía allí. En MSysGit1.6.2 a principios de marzo de 2009: archimport, cvsexportcommit, cvsimport, cvsserver, filter-branch, instaweb, enviar correo electrónico y shell.)

  • Hasta que MSysGit1.6.2, git-svn era no allí ( ahora está ).
    El problema era que git-svn necesitaba los enlaces Perl de Subversion, y solo puedes compilarlos como módulos cargables dinámicamente. Y MSysGit tenía una versión de Perl que no admitía módulos cargables dinámicamente.

  • Todos los detalles sobre MSysGit se explican mejor en su MSysGitHerald Wiki de Github

En Windows (esto es un problema menor en otros sistemas, en mi muy humilde opinión ...), debes estar MUY consciente de los problemas de crlf, y ten en cuenta que (a menos que hayan cambiado esto en la última versión) de Git, que creo que pueden tener (o si estás usando una versión muy antigua de Git), autocrlf está habilitado de forma predeterminada, a diferencia de todas las otras instalaciones de git.

También tenga en cuenta que, a menos que use la última versión de msysgit, pronto saldrá esta semana si recuerdo correctamente de la lista de correo, el tamaño de su repositorio no puede ser superior a 2GB, total.

Además, Windows es extrañamente sensible a mayúsculas y minúsculas pero / a veces / conserva las mayúsculas y minúsculas. ¡Tenlo en cuenta! (Esto no confunde git necesariamente, pero puede confundir y confunde al usuario del repositorio de git).

Finalmente, git es sustancialmente más lento en Windows que en Linux, aunque es (en mi experiencia limitada) más rápido que las alternativas.

Ahora, con respecto al camino ...

A menos que me equivoque, deberías poder asegurarte de que el binario principal de git esté en el camino, y ese binario debería encargarse de hacer referencia a los otros componentes de git ... Pero no he probado esto. / p>

El instalador de MSYS Git sugiere la opción 2 si pretende ejecutar git desde un indicador de cygwin. El entorno cygwin asegura que las dependencias de git estén en su PATH. Si elige esta opción pero luego invoca git desde un símbolo del sistema de Windows, no se encontrarán todas las utilidades de línea de comandos de unix-y en las que se basa git. IIRC, git se implementa parcialmente como scripts de bash. No sé qué operaciones fallarán, pero no creo que git se pueda utilizar de esta manera.

No tengo una lista de las herramientas del sistema que reemplaza la opción 3 (el instalador menciona a find.exe), pero esto solo te afectaría si eres un ninja de script por lotes. En la línea de comandos, find ahora se referirá a la utilidad de Unix de ese nombre, no al exe que viene con Windows. No daña las ventanas de ninguna manera.

Solo ejecuta con tijeras y elige la opción 3 :-)

Cuando usa la GUI de Windows en Windows y crea su primer repositorio, no escriba el nombre " .git " para el directorio del repositorio. (Que luego creará y luego creará otra carpeta .git debajo de ella, cuando finalmente piense mirar allí) Busque la carpeta con sus fuentes y, ¡simplemente elija esa carpeta! El directorio del repositorio " .get " será creado para ti.

Luego ves los archivos en tus cambios sin etapas y, al hacer clic en los pequeños íconos de página junto a los nombres de archivos, muévelos a los cambios por etapas.

Y, definitivamente, ejecute con tijeras y seleccione la opción 3. Nadie usa matar, ordenar o encontrar más desde la línea de comandos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top