¿Cómo agregar el comando 'árbol' a git-bash en Windows?

¿Cómo agregar el comando 'árbol' a git-bash en Windows?

Estoy usando git-bash en Windows 7. Me gustaría ver un árbol del directorio actual. Sin embargo

jcollum@DEVELOPER01 ~/Dev/express_coffee            
$ tree .                                            
sh.exe": tree: command not found

Bien, entonces no tengo el treecomando. ¿Cómo instalarlo? Encontré un artículo pero era para macOS.

Respuesta1

También podrías usar "cmd //c tree"Windows'tree

Explicación:

  • Inicie cmd con el argumento '/c' y ejecute el árbol, luego finalice

/C Lleva a cabo el comando especificado por la cadena y luego termina

(barra adicional para escapar)

/a se usa para ejecutar con caracteres ascii en caso de que no se muestre correctamente.

Respondido con mayor detalle aquí:https://stackoverflow.com/q/515309/1261166

Respuesta2

He descargado el tree.exe dentro del archivo zip desde aquíhttp://gnuwin32.sourceforge.net/packages/tree.htmcomo se sugiere.

Luego extraje el archivo tree.exe C:\Program Files\Git\usr\bin(agregué esta carpeta a la ruta de Windows para que funcione con el CMD normal, pero también funciona con GITBash). Git Bash con comando de árbol en Windows

¡Espero que esto te ayude de alguna manera!

Respuesta3

Ya existe un comando de árbol en Windows; el único problema es que lo es tree.comy git bash no agregará la extensión .comni la ejecutará automáticamente.

Sin embargo, lo encontrará si presiona tabdespués de escribir.árbolotre

Para ver los archivos que tienes que usar //f, tienes que usarlos //o bash pensará que es el nombre de la carpeta.

También solía //amostrar líneas ascii pero no es necesario usarlas.

Ejemplo:

dean@dean:~/java$ tree
bash: tree: command not found

dean@dean:~/java$ tree.com //a
Folder PATH listing for volume c
Volume serial number is 4E70-B37A
C:.
+---atom
+---sublime
\---vscode

dean@dean:~/java$ tree.com //a //f
Folder PATH listing for volume c
Volume serial number is 4E70-B37A
C:.
+---atom
|       test1
|
+---sublime
|       test2
|
\---vscode
        test3

dean@dean:~/java$

Respuesta4

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

Este SO: "¿Gestión de paquetes en git para Windows?" fue muy útil https://stackoverflow.com/questions/32712133/package-management-in-git-for-windows

Además, como se comentó en el SO anterior, se vinculan a este problema de git para Windows [Falta Pacman en la instalación nueva 2.5.2 #397] que no debía incluirse pacmanen la instalación predeterminada.

De todos modos, instalé "Git para Windows SDK", luego en su símbolo del bash (SDK-64) ejecuté lo siguiente para instalar el árbol actual v1.7.0-1 (a partir de esta publicación del 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 Git para Windows Bash (que no tenía el árbol instalado), lo copié sobre tree.exe en su directorio /usr/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 treev1.7.0 desde ambos shells de Git Bash.

Entonces, para hacerlo aún más fácil para otros y tal vez para mí en una máquina futura, miré de dónde pacmanobtenía el treepaquete ejecutando lo 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 pacmanobtenerlo del repositorio "msys" (para su información: aunque dice msys, en realidad está usando msys2), así que miré /etc/pacman.d/mirrorlist.msysy el primer espejo apunta ahttp://repo.msys2.org/msys/$arch/

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

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

información relacionada