Git Logを使用してコミット履歴をフォーマットするにはどうすればよいですか?



Gitは、アプリケーションのソースコードを整理および管理するのに役立つツールです。 git log formathistoryコマンドとその使用方法についてすべて学びます。

この記事では、プロジェクトジャーナル履歴から必要な情報を取得するためにコミットログをフォーマットおよび印刷するためのいくつかの高度なオプションについて説明します。私たちはすでに知っているので、 プロジェクト履歴にコミットされた変更のジャーナルを保持します。ここで、「gitlog」コマンドが役立つその他の方法を探ります。

まず、便利で短い履歴のために、「feature1」ブランチに切り替え/チェックアウトしています。
コマンドを使用する–





$cd myProj–gitプロジェクトに切り替えます

$gitチェックアウト機能1–「feature1」ブランチにジャンプします



1.フォーマットのコミット

1.1出力コンテンツを指定された形式でプリティプリントする

構文: git log --pretty [=]

どこ、 の1つになることができます ワンライン ショート フル フラー Eメール 、および フォーマット:
いつ = 一部が省略され、デフォルトで

1.1.1 –pretty = oneline

「1行」でコミットログをきれいに印刷する
コマンド: git log --pretty = oneline
出力を順番にフォーマットします。




コミット-Gitログ形式の履歴-Edureka

1.1.2 –pretty = short

コミット出力を次の形式で「短い」形式にします。
コミット(refname)
著者:



1.1.3 –pretty = medium

コマンド: git log --pretty = medium
コミット出力を「中判」形式で印刷します。
コミット
著者
日付:


1.1.4 –pretty = full

コマンド: git log --pretty = full
出力は次の形式です。
コミット(refname)
著者:
コミット:


1.1.5 –pretty = fuller

コマンド: git log --pretty = fuller
コミット(refname)
著者:
AuthorDate
コミット:
CommitDate:


1.1.6 –pretty = email

コマンド: git log --pretty = email
ログ出力を電子メール形式で印刷します。
から
から:
日付:
件名: [パッチ]


1.1.7 –pretty = raw

コマンド: git log --pretty = raw
生のログ出力形式は、コミットオブジェクトに格納されているとおりにコミット全体を正確に表示します。
コミット


著者
コミット

1.1.8 –format ::カスタムフォーマット

このフォーマットでは、コミット出力ログに出力するコミットオブジェクトの情報を指定できます。
このオプションがコードスニペットの助けを借りて「Cprintf」関数のように提供するさまざまなプレースホルダーを考えてみましょう。

コマンド: git log --pretty = format: '%h%ad | %s%d [%an] '-date = short
出力フォーマット:
| 【作者名】

%h =短縮されたハッシュID / sha1commit id
%H = long sha-1 ids
%に =作成日
%s =件名のタイトル行をコミットする
%d =参照ポインタ(ブランチ、タグ)名
%an =著者名
-日付 = short:時刻ではなく、日付のみを読み取り可能な形式で出力します

では、色を使用して、この出力をより人間に優しいものにしてみませんか。
コマンド:
git log --pretty = format: '%C(yellow)%h%Creset%ad | %Cgreen%s%Creset%Cred%d%Creset%Cblue [%an] '-date = short


上記のコードスニペットで使用されているその他のプレースホルダーは次のとおりです。
%C(黄色) :次の文字列を黄色に変えます
%Creset :次の文字列をデフォルト(白)の色にリセットします
%Cgreen :次の文字列を緑色に変更します
%私は推測する: 次の文字列を赤に変更します
%Cblue: 著者名を青色にする

コマンド全体を毎回覚えて書く必要はありません。次のように短い名前を使用してください。 gitエイリアス 以下に示すように:
コマンド:
git config --global alias.c-hist'log --pretty = format: '%C(yellow)%h%Creset%ad | %Cgreen%s%Creset%Cred%d%Creset%Cblue [%an] '-date = short'

「c-hist」 を表す c ustomized- 歴史 オリー
だから、あなたが観察したように、私は私のグローバルを設定しています git構成 値を含むファイル。

Tableauでのデータの視覚化とは

ここで、現在のブランチの履歴を確認するには、次のようにコマンドを実行するだけです。
コマンド: c-histに行く

1.2 –abbrev-commit:git commithash-idを短くします

コマンド: git log --abbrev-commit
完全な40バイトの16進コミットオブジェクト名は、デフォルトの7バイトに短縮されます。


‘でクラブしましょう--oneline次のような便利なビューの ‘オプション:
コマンド: git log --abbrev-commit --oneline

さらにエキサイティングなのは、以下に示すように、「– abbrev =」オプションを使用して、sha-1IDのバイト長を指定することもできることです。
コマンド: git log --abbrev-commit --abbrev = 5 --oneline



明らかに、強調表示されたsha-1IDは5バイトサイズに縮小されています。

1.3 –no-abbrev-commit

完全な40バイトの16進コミットオブジェクト名を表示します。
これは否定します –abbrev-commit およびそれらのオプションは
「–oneline」などです。
コマンド: git log --pretty = oneline --no-abbrev-commit



1.4 –相対日付

コマンド: git log --relative-date

この強調表示された時間は、システムでコマンドを実行した時間を参照して変更される可能性があることに注意してください。

1.5 –date =

コミットログの日付は、次のフォーマットオプションのいずれかでフォーマットすることもできます。

1.5.1 –日付=相対

コマンドgit log --date = related
これは、上記のコマンド「git log --relative-date」と同じコミットを出力します。

1.5.2 –date = local

コマンド git log --date = local

1.5.3 –date = iso

コマンド: git log --date = iso

1.5.4 –date = iso-strict

コマンド: git log --date = iso-strict

1.5.5 –date = rfc

コマンド: git log --date = rfc

1.5.6 –date = short

コマンド: git log --date = short

1.5.7 –date = raw(日付を秒単位で表示)

コマンド: git log --date = raw
からの時間を秒単位で出力します UNIXエポック 時間(1970年1月1日)の後にタイムゾーンが続きます。

1.5.8 –date = human

コマンド: git log --date = human

1.5.9 –date = unix

日付を次のように表示します UNIXエポック (UTC)時間。
コマンド: git log --date = unix

1.6 –親

各コミットの親も次の形式で出力します。
コマンド: git log --parents
ワンライナー出力コマンド: git log --parents --oneline

注意点:
C366419 はマージコミットであるため、それぞれ2つの親があります。 feeb30c そして 4920adc
同様に

1d67b50 マージの結果として生じたマージコミットです f2ff2e4 そして abb694b
078f9f5 マージによって作成されたマージコミットです 9a2412e そして ab3a5e5
一方、 86792c6 は最初のコミットであるため、親はありません。

1.7 –子供

子供たちもフォームに印刷します
コマンド: git log --children --oneline

注意
006b9ceは最新のコミットであるため、子コミットオブジェクトはまだありません。このブランチで行ってコミットする次の変更は、この最新のsha-1IDの子コミットオブジェクトになります。

1.8 –グラフ

sha-1IDの前にコミット履歴のテキストベースのグラフィック表現を描画します。
コマンド: git log --graph
改善されたワンライナー出力: git log --graph --oneline


これにより、他のブランチが現在チェックアウトされているブランチにいつ、どのように、なぜマージされたかを理解できます。

1.9 –show-linear-break

コマンド: git log --show-linear-break
これは、線形ブランチに属さない2つの連続するコミット、つまり異なるブランチからのコミット間のバリアを示すのに便利なコマンドです。


上記の出力を、「linear-break」コミットがどのようにマージされたかを明確に示す「gitlog–graph」コマンド出力と比較してください。

ボーナス:gitログ出力の要約:「gitshortlog」

git shortlog‘コマンドは、コミットログを作成者ごとに分類し、各作成者が行ったコミットを示す概要の概要を出力します。
コマンド: git log shortlog

コマンド git log shortlog -s
-sは–summaryを表し、コミットの説明を抑制し、次のように各作成者によるコミットの数を出力します。

さらに、「」で説明したのと同じプレースホルダーを使用して出力をフォーマットすることもできます。--pretty = format‘オプション
次のコマンドを試してください。 git shortlog --format = '%h | %s '

したがって、この出力には、各作成者のIDとforが合計コミット数とともに表示されるため、より意味があることに同意する必要があります。

注意 特定のコミットを行ったブランチを非常に簡単に見つけることができることに注意してください。今後の記事でこの議論を深く取り上げる価値があります。

それで、これで終わりですGitログ形式の履歴ブログ、あなたがそれが有益であると思ったことを願っています。

この投稿では、プロジェクト情報をよりカスタマイズされたユーザーフレンドリーな方法で印刷するいくつかのフォーマット手法を学びました。これで、「git log」コマンドのパラメータを効果的に使用して、コミットされた履歴からソースコードについて必要な情報を引き出す方法を理解できたはずです。以上で、この記事は終わりです。参考になれば幸いです。

詳細を知りたい場合は、こちらをご覧ください 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社であるEdurekaが世界中に広がっています。 Edureka DevOps認定トレーニングコースは、学習者がDevOpsとは何かを理解し、SDLCの複数のステップを自動化するためのPuppet、Jenkins、Nagios、Ansible、Chef、Saltstack、GITなどのさまざまなDevOpsプロセスとツールに関する専門知識を習得するのに役立ちます。

質問がありますか?この記事の「Gitログ形式の履歴」に関するコメントセクションにその旨を記載してください。折り返しご連絡いたします。