Git コマンドのヘルプをテキストファイルに出力する方法

Git において、コマンドの使い方などは git help で見ることができます。例えば「branch」コマンドについて知りたいときは、 git help branch とすればOKです。これでターミナルにヘルプが表示されます(qで終了)。 そして、このヘルプをテキストファイルで出力することもできます。branch.txt というファイルで出力したいときは、 git help branch >...

Git において、コマンドの使い方などは git help で見ることができます。例えば「branch」コマンドについて知りたいときは、

git help branch

とすればOKです。これでターミナルにヘルプが表示されます(qで終了)。

そして、このヘルプをテキストファイルで出力することもできます。branch.txt というファイルで出力したいときは、

git help branch > branch.txt

とすればOKです。

しかし、このままだと、ターミナルでヘルプを表示したときにアンダーラインが引いてあるものや太字の大文字になっているものなどは、その装飾の情報も含まれて表示されてしまうため、おかしな状態になってしまいます。

SSYYNNOOPPSSIISS
 _g_i_t _b_r_a_n_c_h [--color[=<when>] | --no-color] [-r | -a]
 [-v [--abbrev=<length> | --no-abbrev]]
 [(--merged | --no-merged | --contains) [<commit>]]
 _g_i_t _b_r_a_n_c_h [--set-upstream | --track | --no-track] [-l] [-f] <branchname> [<start-point>]
 _g_i_t _b_r_a_n_c_h (-m | -M) [<oldbranch>] <newbranch>
 _g_i_t _b_r_a_n_c_h (-d | -D) [-r] <branchname>...
(抜粋)

そこで、colcrt や col という UNIX のコマンドを合わせて使えば良いみたいです。

git help branch | colcrt | col > branch.txt

以下のように、先ほどおかしなことになっていた装飾部分は、アンダーラインが引かれたきれいなテキストになって出力されます。

SYNOPSIS
 git branch [--color[=<when>] | --no-color] [-r | -a]
 --- ------
	 [-v [--abbrev=<length> | --no-abbrev]]
	 [(--merged | --no-merged | --contains) [<commit>]]
 git branch [--set-upstream | --track | --no-track] [-l] [-f] <branchname> [<start-point>]
 --- ------
 git branch (-m | -M) [<oldbranch>] <newbranch>
 --- ------
 git branch (-d | -D) [-r] <branchname>...
 --- ------
(抜粋)

ちなみに「|」は、左のコマンド結果を右のコマンド結果に渡すという意味です。

以上、自分用メモでした(col はなくてもいいかも)。

参考
UNIXの部屋 コマンド検索:col (*BSD/Linux)
Published 2011-03-03
Updated 2019-06-25