windows git msys2

windows - msys2 install gcc



¿Cuáles son las diferencias entre msys/git y git-para-windows/mingw-w64-x86_64-git? (1)

Para poder ejecutar los scripts de prueba para mi aplicación multiplataforma también en Windows, instalé MSYS2 y utilicé pacman para instalar los paquetes en los que se basan mis scripts de prueba.

Dado que MSYS2 proporciona un puerto de git (msys / git), creo que no hay necesidad de instalar Git para Windows también. ¿Pero cuáles son las diferencias entre la versión de git proporcionada en el repositorio de MSYS2 y la proporcionada por Git para Windows?

Noté estas diferencias hasta ahora:

  1. msys / git fallará cuando se ejecute pip freeze en un virtualenv donde se instale un paquete Python de un clon git en modo de desarrollo:

    FileNotFoundError: [WinError 3] The system cannot find the path specified: ''/c/users/user/documents/project/.git//..''

    git-for-windows / mingw-w64-x86_64-git no falla, por lo que hay al menos algunas diferencias con respecto al manejo de rutas.

  2. Git para Windows gitk y git gui funcionan fuera de la caja. No es necesario configurar la variable de entorno GIT_GUI_LIB_DIR como se describe aquí .

Parece que git del repositorio de Git para Windows ofrece la mejor experiencia en este momento.

PS Puede instalar Git para Windows git en MSYS2 agregando lo siguiente a /etc/pacman.conf , above las [mingw32] , [mingw64] y [msys] [mingw64] . Pero podría ser una mejor idea instalar Git para Windows SDK, que es básicamente una edición especial de MSYS2 que incluye Git para Windows. De lo contrario, el procedimiento a continuación (y más) también se describe aquí .

[git-for-windows] Server = https://dl.bintray.com/$repo/pacman/$arch [git-for-windows-mingw32] Server = https://dl.bintray.com/git-for-windows/pacman/i686

Después de esto (y quizás un pacman -Sy ), puede instalar el git para Git de Windows:

pacman -S mingw-w64-x86_64-git

¿Supongo que no hay razón para no instalar Git para git de Windows en MSYS2?

EDITAR El instalador (un) de Git para Windows dejado atrás C:/ProgramData/Git/config . Esto apunta a git en la ubicación incorrecta para los certificados SSL. Puede eliminar C:/ProgramData/Git/config para solucionar este problema.


msys / git está vinculado a una biblioteca dinámica proporcionada por MSYS2 para proporcionar compatibilidad POSIX-a-Windows (emulación POSIX) de una manera similar a como lo hace cygwin (MSYS2 está bifurcado de cygwin), por lo tanto requiere que el entorno MSYS2 esté presente para correr.

git-for-windows / mingw-w64-x86_64-git por otro lado, se compila usando el compilador MinGW, que realiza la traducción a las llamadas nativas de Windows en tiempo de compilación, lo que resulta en un binario mucho más rápido en comparación con el enfoque de emulación, y solo requiere bibliotecas nativas de Windows para ejecutarse.

De La diferencia entre MSYS2 y MinGW :

La capa de emulación POSIX de los binarios de MSYS2 es conveniente, pero tiene un costo: por lo general, los programas de MSYS2 son notablemente más lentos que sus contrapartes de MinGW (si existen tales contrapartes). Como consecuencia, el proyecto Git para Windows intenta proporcionar tantos componentes como sea posible como binarios de MinGW.

Ver también: ¿En qué se diferencia MSYS2 de Cygwin?