git-show
git-show とは
git-show
は、blob、ツリー、タグ、コミットなどの Git オブジェクトの広範な詳細を表示するために使用されるコマンド ライン ユーティリティです。git-show
の動作は、オブジェクト タイプごとに異なります。
タグにはタグ メッセージと、タグに含まれるその他のオブジェクトが表示されます。ツリーにはツリー内のオブジェクトの名前とコンテンツが表示されます。blob には blob のコンテンツがそのまま表示されます。コミットにはコミット ログのメッセージと、コミットにおける変更の diff 出力が表示されます。
Git オブジェクトは、すべて参照によってアクセスされます。デフォルトでは、git-show
は HEAD 参照に対して機能します。HEAD 参照は、常に現在のブランチの最終コミットをポイントします。そのため、git-show
を使用して最新のコミットのログ メッセージと diff 出力を表示できます。
git-show のオプション
<object>…
オブジェクトやオブジェクト リストの参照を渡して、特定のオブジェクトを検証できます。明示的なオブジェクトが渡されない場合、git-show
は HEAD 参照にデフォルト設定されます。
--pretty[=<format>]
pretty オプションでは、oneline、short、medium、full、fuller、email、raw
のうちいずれかの二次書式値と format:<string>
が指定されます。省略すると、書式は medium
にデフォルト設定されます。各書式オプションは、Git での表示出力の書式設定に関する異なるテンプレートです。<code>oneline</code> オプションは、コミットのリストを表示するのに非常に役立ちます。
--abbrev-commit
このオプションにより、出力コミット ID の長さが短縮されます。コミット ID は 40 文字で、幅の狭い端末の画面では表示しにくいことがあります。このオプションと --pretty=oneline
を組み合わせることで、git log
の出力を非常に短くできます。
--no-abbrev-commit
常に完全な 40 文字のコミット ID を表示します。これにより、--abbrev-commit
や、コミット ID を短縮する --oneline format
などのその他すべてのオプションが無視されます。
関連資料
Git リポジトリ全体を移動する方法
ソリューションを見る
Bitbucket Cloud での Git の使用方法についてのチュートリアルです。
--oneline
これは展開されたコマンド--pretty=oneline --abbrev-commit
を使用するためのショートカットです。
--encoding[=<encoding>]
Git ログ メッセージの文字エンコーディングは UTF-8 にデフォルト設定されますが、エンコーディング オプションが別の文字エンコーディング出力に変更される場合があります。これは、アジア言語を使用する端末など、文字エンコーディングが異なる環境で Git を使用する場合に有用です。
>--expand-tabs=
--no-expand-tabs
これらのオプションにより、ログ メッセージ出力でタブ文字がスペースによって置換されます。n
値を設定して、タブがいくつのスペース文字に展開されるのかを設定できます。n 値を明示的に指定しないと、タブは 8 つのスペースに展開されます。--no-expand-tabs
は n=0
に相当します。
--notes= --no-notes
Git にはノート システムがあり、任意の「note」メタデータをオブジェクトに添付できます。このデータを git-show
を使用して非表示化またはフィルタリングできます。
--show-signature
このオプションでは、コミットを gpg サブコマンドに渡すことで、暗号化された署名でコミットが署名されていることを検証します。
git-show の pretty 書式
上記の --pretty
オプションでは、git-show
出力の書式を整えるために複数の二次オプションが受け入れられます。以下は、サンプル テンプレートを含む二次オプションの一覧です。
- oneline
<sha1> <title line>
Oneline により、できるだけ多くの情報を 1 行にまとめます。
- short
commit <sha1>
Author: <author>
<title line>
- medium
commit <sha1>
Author: <author>
Date: <author date>
<title line>
<full commit message>
- full
commit <sha1>
Author: <author>
Commit: <committer>
<title line>
<full commit message>
- fuller
commit <sha1>
Author: <author>
AuthorDate: <author date>
Commit: <committer>
CommitDate: <committer date>
<title line>
<full commit message>
- email
From <sha1> <date>
From: <author>
Date: <author date>
Subject: [PATCH] <title line>
<full commit message>
- raw
raw 書式では、git-show
に渡される他の直接書式設定オプションが無視され、コミットはオブジェクトに保存されたとおりに出力されます。raw では--abrev
と--no-abbrev
は無視され、常に親コミットが表示されます。
- format:
format により、カスタム出力書式を指定できます。これは C 言語のprintf
コマンドと似ています。--pretty=format
オプションでは、テンプレート文字列の二次値が指定されます。テンプレートは、コミット オブジェクトのデータが入力されるプレースホルダー変数にアクセスします。以下のようなプレースホルダーがあります。
• %H: コミット ハッシュ
• %h: 短縮コミット ハッシュ
• %T: ツリー ハッシュ
• %t: 短縮ツリー ハッシュ
• %P: 親ハッシュ
• %p: 短縮親ハッシュ
• %an: 作成者名
• %aN: 作成者名
• %ae: 作成者 E メール
• %aE: 作成者 E メール
• %ad: 作成者日付 (書式は --date= オプションに準拠)
• %aD: 作成者日付、RFC2822 スタイル
• %ar: 作成者日付、相対
• %at: 作成者日付、UNIX タイムスタンプ
• %ai: 作成者日付、ISO 8601 書式
• %cn: コミッター名
• %cN: コミッター名
• %ce: コミッター E メール
• %cE: コミッター E メール
• %cd: コミッター日付
• %cD: コミッター日付、RFC2822 スタイル
• %cr: コミッター日付、相対
• %ct: コミッター日付、UNIX タイムスタンプ
• %ci: コミッター日付、ISO 8601 書式
• %d: ref 名、git-log(1) の --decorate オプションなど
• %e: エンコーディング
• %s: 件名
• %f: ファイル名に適したサニタイズ済み件名行
• %b: 本文
• %N: コミット ノート
• %gD: reflog セレクター (refs/stash@{1} など)
• %gd: 短縮 reflog セレクター (stash@{1} など)
• %gs: reflog 件名
• %Cred: 色を赤に切り替え
• %Cgreen: 色を緑に切り替え
• %Cblue: 色を青に切り替え
• %Creset: 色をリセット
• %C(...): color.branch.* 設定オプションに記載されている色指定
• %m: 左、右または境界マーク
• %n: 改行
• %%: ロー %
• %x00: 16 進コードからのバイト印刷
• %w([[, : 行の折り返しの切り替え (git-shortlog の -w オプションなど)[, ]]])
git-show の例
git show --pretty="" --name-only bd61ad98
コミットで処理されたすべてのファイルが一覧にされます。
git show REVISION:path/to/file
特定のバージョンのファイルが表示されます。REVISON
は Git sha で置換されます。
git show v2.0.0 6ef002d74cbbc099e1063728cab14ef1fc49c783
v2.0.0 タグと 6ef002d74cbbc099e1063728cab14ef1fc49c783
のコミットが表示されます。
git show commitA...commitD
commitA
から commit D
までの範囲内すべてのコミットが出力されます。
要約
git-show
は、Git リポジトリのオブジェクトを検証する非常に用途の広いコマンドです。これを使用して、特定のバージョンの特定のファイルをターゲットにできます。git-show
を使用してあるコミット範囲を検証すると、その範囲に含まれる個別のコミットすべてが出力されます。git-show
は、パッチ ノートを作成し、リポジトリの変更を追跡するために利用できます。
この記事を共有する
次のトピック
おすすめコンテンツ
次のリソースをブックマークして、DevOps チームのタイプに関する詳細や、アトラシアンの DevOps についての継続的な更新をご覧ください。