Windows で git-bash に「tree」コマンドを追加するにはどうすればいいですか?

Windows で git-bash に「tree」コマンドを追加するにはどうすればいいですか?

Windows 7でgit-bashを使用しています。現在のディレクトリのツリーを表示したいのですが、

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

わかりました。コマンドがありませんtree。インストール方法は?記事を見つけましたが、macOS 用でした。

答え1

"cmd //c tree"Windowsのtree

説明:

  • '/c'引数でcmdを起動し、ツリーを実行してから終了します。

/C 文字列で指定されたコマンドを実行し、終了します

(エスケープ用の追加のスラッシュ)

正しく表示されない場合に ASCII 文字で実行するには /a を使用します。

より詳しい回答はこちらをご覧ください:https://stackoverflow.com/q/515309/1261166

答え2

ここからzipファイル内のtree.exeをダウンロードしましたhttp://gnuwin32.sourceforge.net/packages/tree.htm提案どおり。

次に、tree.exe ファイルを抽出しましたC:\Program Files\Git\usr\bin(通常の CMD で動作するようにこのフォルダーを Windows パスに追加しましたが、GITBash でも動作します)。 Windows でツリー コマンドを使用する Git Bash

これが何らかの形で役立つことを願っています!

答え3

Windows にはすでに tree コマンドがありますが、唯一の問題はtree.com、git bash が自動的に拡張子を追加し.comて実行しないことです。

tabただし、入力後に押すと見つかりますまたはトレ

ファイルを表示するには//f、を使用する必要があります。//そうしないと、bashはそれをフォルダ名と認識します。

以前はASCIIラインも表示していました//aが、使用する必要はありません。

例:

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$

答え4

Windows 用 Git (git の最新バージョンをダウンロード) (Git Bash を含む) は含まれませんtree。は (パッケージ マネージャー)tree経由で利用できますpacmanが、これは「Git for Windows」をインストールした場合にのみ利用できます。開発キット「(gitforwindows.org/の一番下までスクロールすると、インストーラをダウンロードするためのリンクがあります。https://github.com/git-for-windows/build-extra/releases/latest

このSO:「Windows用のGitでのパッケージ管理?」は非常に役に立ちました https://stackoverflow.com/questions/32712133/git でのパッケージ管理

また、上記の SO でコメントされているように、彼らは、pacmanデフォルトのインストールには含めないことを意図していた Windows の git の問題 [2.5.2 の新規インストールで Pacman が見つからない #397] にリンクしています。

とにかく、「Git for Windows SDK」をインストールし、その bash プロンプト (SDK-64) で次のコマンドを実行して、現在のツリー v1.7.0-1 (この投稿の 2018 年 8 月 30 日時点) をインストールしました。

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

私のシステムでは、Git for Windows SDKは次の場所にインストールされているのでC:\git-sdk-64、Git for Windows Bashシェル(treeがインストールされていない)から、tree.exeを/usr/binディレクトリにコピーしました。例:

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

treeこれで、両方の Git Bash シェルから v1.7.0を実行できるようになりました。

そこで、他の人や将来のマシンで自分自身がさらに簡単に作業できるように、Git for Windows SDK Bash ターミナルで以下を実行して、パッケージのpacman取得元を確認しました。tree

$ 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
...

ここで重要なのは、pacmanこれを「msys」リポジトリから取得することです(参考までに:msysと書かれていますが、実際にはmsys2を使用しています)。そこで、/etc/pacman.d/mirrorlist.msys最初のミラーが以下を指していることを確認しました。http://repo.msys2.org/msys/$arch/

次回、Git for Windows に含まれていないパッケージが必要になった場合は、次の場所からダウンロードできます。http://repo.msys2.org/msys/x86_64/(64ビットの場合)またはhttp://repo.msys2.org/msys/i686/(32ビット)

例: tree v1.7.0-1 の直接ダウンロード リンク

関連情報