tipos tag tab remove etiquetas crear commits windows git bash msysgit msys

tag - Gestión de paquetes en git para windows?



git versioning (3)

Como se mencionó en el número 397 :

Esto está destinado. No enviamos pacman con Git para Windows.
Si está interesado en un entorno de administración de paquetes completo, debe probar el SDK de Git para Windows .

El bash que ves en el último git para Windows (2.5.3) , que es un bash más reciente que el anterior msysgit , solo está ahí para ejecutar los comandos de git.
No es un entorno de Linux completo para instalar ningún paquete de terceros.

Estoy leyendo wiki en github para git y dice que msys2 incluye pacman: https://github.com/git-for-windows/git/wiki/Package-management

Pero cuando lo invoco:

$ pacman bash: pacman: command not found

¿Alguien tiene una idea de lo que está pasando? ¿A qué versión de git se refiere esta wiki? ¿Hay una manera de instalar paquetes adicionales a msys2 dentro de Git para Windows?


Git para Windows ( https://gitforwindows.org/ o https://git-scm.com/downloads ) (tiene Git Bash) pero no incluye el tree . tree está disponible a través de pacman (Administrador de paquetes) pero solo está disponible si instala "Git for Windows SDK " (desplácese hasta la parte inferior de https://gitforwindows.org/ que proporciona un enlace para descargar el instalador desde https://github.com/git-for-windows/build-extra/releases/latest )

Este SO: "Gestión de paquetes en git para windows?" ¿Fue muy útil la gestión de paquetes en git para windows?

También como se comentó en el SO anterior, se vinculan a este problema de git para Windows [falta de Pacman en la nueva instalación 2.5.2 # 397] que estaba destinado a no incluir a pacman en la instalación predeterminada.

De todos modos, instalé "Git para Windows SDK", luego, en su indicador de bash (SDK-64), ejecuté lo siguiente para instalar el árbol actual v1.7.0-1 (a partir de esta publicación, 30 de agosto de 2018):

[SDK-64: Bash Terminal for Git for Windows SDK] pacman -S tree ... Proceed with installation? [Y/n] Y

En mi sistema, Git para Windows SDK está instalado en: C:/git-sdk-64 , así que desde mi shell de Git para Windows Bash (que no tenía el árbol instalado), lo copié en tree.exe a su / usr / directorio bin, por ejemplo

[MINGW64: Bash Terminal for Git for Windows] cd /usr/bin cp /c/git-sdk-64/usr/bin/tree.exe .

Ahora puedo ejecutar el tree v1.7.0 desde ambos shells de Git Bash.

Entonces, para hacerlo aún más fácil para los demás y tal vez para mí mismo en una máquina futura, miré desde dónde pacman el paquete del tree ejecutando el siguiente en mi terminal Git para Windows SDK Bash:

$ pacman -S --info tree Repository : msys Name : tree Version : 1.7.0-1 Description : A directory listing program displaying a depth indented list of files Architecture : x86_64 ...

La clave, aquí es que pacman está obteniendo del repositorio "msys" (FYI: aunque dice msys, realmente está usando msys2), así que miré en /etc/pacman.d/mirrorlist.msys y la primera El espejo apunta a http://repo.msys2.org/msys/$arch/

Entonces, la próxima vez que desee un paquete que NO esté en Git para Windows, puede descargarlo de: http://repo.msys2.org/msys/x86_64/ (para 64 bits) o de http://repo.msys2.org/msys/i686/ (32 bits)

Por ejemplo, enlace de descarga directa para el árbol v1.7.0-1

FYI: la descarga de la ventana de Git SCM en https://git-scm.com/download/ saca lo último de Git para Windows GitHub ( https://github.com/git-for-windows/git de la https://github.com/git-for-windows/git/releases/ link)


Parece que hay una forma documentada de hacer esto sin tener que instalar Git para Windows SDK (que es muy grande). PhilipOakley me dio el enlace a esta información cuando le pregunté sobre todo esto en el número 1912 de GitHub.

Aquí está el texto actual de la página wiki de Git para Windows GitHub al respecto:

Instalar dentro de MSYS2 propiamente dicho

Esta guía asume que desea la versión de Git para Windows de 64 bits.

Git para Windows se basa en MSYS2, es posible instalar el paquete git en una instalación existente de MSYS2. Eso significa que si ya está utilizando MSYS2 en su computadora, puede usar Git para Windows sin ejecutar el instalador completo o la versión portátil.

Tenga en cuenta, sin embargo, que hay algunas advertencias para ir de esta manera. Git para Windows creó algunos parches para msys2-runtime que no se enviaron en sentido ascendente. (Esto había sido planeado, pero en el número #284 se determinó que probablemente no sucedería). Esto significa que debe instalar Git para el msys2-runtime personalizado de Windows para tener un git completamente funcional dentro de MSYS2.

Aquí los pasos a seguir:

  1. Abra un terminal MSYS2.

  2. Edite /etc/pacman.conf y justo antes de [mingw32] (línea # 71 en mi máquina), agregue el repositorio de paquetes git-for-windows :

[git-for-windows] Server = https://wingit.blob.core.windows.net/x86-64

y opcionalmente también el repositorio solo MINGW para la arquitectura opuesta (es decir, MINGW32 para SDK de 64 bits):

[git-for-windows-mingw32] Server = https://wingit.blob.core.windows.net/i686

  1. Autorizar la clave de firma (este paso puede tener que repetirse ocasionalmente hasta que https://github.com/msys2/msys2/issues/62 esté solucionado)

curl -L https://raw.githubusercontent.com/git-for-windows/build-extra/master/git-for-windows-keyring/git-for-windows.gpg | pacman-key --add - && pacman-key --lsign-key 1A9F3986

  1. Luego sincroniza el nuevo repositorio

pacboy update

  1. Esto actualiza msys2-runtime y, por lo tanto, le pedirá que cierre la ventana ( no solo que salga del proceso de pacman). No entre en pánico, simplemente cierre todos los programas MSYS2 y MSYS2 abiertos actualmente. Vuelva a verificar el Administrador de tareas y pacman.exe que todavía se está ejecutando después de cerrar la ventana, ya que puede permanecer. Una vez que todos estén cerrados, comience una nueva terminal nuevamente.

  2. Luego sincronice nuevamente (actualizando la parte no central de los paquetes):

pacboy update

  1. Y finalmente instalar los paquetes Git / cURL:

pacboy sync git:x git-doc-html:x git-doc-man:x git-extra: curl:x

  1. Finalmente, verifique que todo haya ido bien haciendo git --version en un shell MINGW64 y debería mostrar algo como git version 2.14.1.windows.1 (o más reciente).