GITのls-treeで内部ファイル一覧の取得方法とそれらが文字化けする時の解決方法

2020年4月27日

テクノロジー

eyecatch ユゲタです。 「gitのブランチ」とかけまして、 「店舗の売上に関わる消費税」と、ときます。 そのココロは・・・ コミットして(混みとして)、管理します。

gitは本当に便利

バージョン管理って重要と分かりつつ、仕事で案件を熟しているとなかなか十分な管理ができないという人、 自分の部屋や、オフィスのデスクがグッチャグチャになっていませんか? もちろん、僕も、仕事のせいにして片付けが後手に回ります。 プログラムコードやファイルのバージョン管理と、パソコンのデスクトップの整理と、部屋の片付けは、かなり性格に依存するので、整えるような性格に変えられるようにしたいのですが、なかなか難しいのも分かります・・・ gitコマンドは、そんなプログラマーの怠惰なところも踏襲して、「とりあえずコミットしとけ!」と言っているようにも聞こえるツールなので、使っておいて損はありません。 そして使えば使うほど奥が深いことに気が付き、使いいてくうちに、ちゃんとgitコマンド自体も整理したくなってきます。

gitに登録されているファイル一覧の表示

実際に、コード群を管理したいのであれば、まずは、どんなファイルがどういう状態でリポジトリに格納されているかを知る必要があります。 今時分が使っている最新版以外は興味がない場合は、git管理する必要がないのですが、別のブランチや、以前のコミット状態の時のファイル構成がどうなっているかを知りたい時もたまにあります。 そんな時は、以下のコマンドで一覧取得ができます。 # 現在のブランチの最新状態のrootファイル一覧の表示 $ git ls-tree HEAD # 任意ブランチのrootファイル一覧の表示 $ git ls-tree master rootファイル一覧のみの表示ではなく、任意階層の表示がしたい時は、後ろにフォルダを追加すると、深堀りできます。 階層が深い場合は、フォルダパスを記述してみましょう。 $ git ls-tree HEAD images/ パスの後ろに"/"(スラッシュ)をつけるのを忘れないようにしましょう。 リポジトリ内のファイルを一覧で取得したい場合は、以下のコマンドです。 # ファイル一覧 $ git ls-tree -r HEAD # ファイル名のみの表示 $ git ls-tree -r --name-only HEAD いや〜コマンドラインで掘っていく間隔で行えることが分かります。

関連機能

内蔵されているプログラムファイルがわかったら、そのプログラムの中身をちょっと確認したい場合は以下のコマンドです。 # index.htmlファイルの中身を表示 $ git cat-file -p master:index.html cat-fileは、"ブランチ:ファイルパス"という書き方が少し違うので、間違えないように注意しましょう。

文字化け対応

フィアル名を表示している時に、文字化けしているファイルがある事があります。 これは2バイト文字は、文字コードに変換して対応するのがデフォルトになっているので、その機能をfalseにしてあげることで解消します。 $ git config --local core.quotepath false 日本語ファイルを扱わないというルールでもいいんですが、ドキュメントや各種のプロジェクトファイルなどを格納するディレクトリは、どうしても日本語が入ってしまうこともある事を考えると、このコマンドを叩いておくだけでいいと思いますよ。 こんな感じで、gitの内部ファイルも管理できていけば、より整理整頓もはかどるんじゃないでしょうか?

人気の投稿

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。

ブログ アーカイブ