5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Git】コミット履歴の閲覧

Posted at

はじめ

  最近、gitのドキュメントを読んでいます。
  git履歴を確認することは現場でよく行うことです。
  履歴を読み取ることは重要なので、勉強しました。
  また、今後の復習のため、ポイントをメモしました。

参考先:gitドキュメント

2.3 コミット履歴の閲覧

コミット履歴の閲覧

コミットを新しい順に表示する。↓

$ git log 

表示内容:

  • 各コミットについてSHA-1チェックサム
  • 作者名
  • メールアドレス
  • コミット日時
  • コミットメッセージ

「git log」のよく使わせるオプション↓

オプション 説明
-p 各コミットのパッチを表示する
--stat 各コミットで変更されたファイルの統計情報を表示する
--shortstat --stat コマンドのうち、変更/追加/削除 の行だけを表示する
--name-only コミット情報の後に変更されたファイルの一覧を表示する
--name-status 変更されたファイルと 追加/修正/削除 情報を表示する
--abbrev-commit SHA-1 チェックサムの全体 (40文字) ではなく最初の数文字のみを表示する
--relative-date 完全な日付フォーマットではなく、相対フォーマット (“2 weeks ago” など) で日付を表示する
--graph ブランチやマージの歴史を、ログ出力とともにアスキーグラフで表示する
--pretty
コミットを別のフォーマットで表示する。オプションとして oneline, short, full, fuller そして format (独自フォーマットを設定する) を指定可能

各コミットで反映された変更点を表示する。↓
例えば、直近の2エントリだけを出力する。(ログ出力の制限のところで説明)

$ git log -p -2

表示内容:

  • 「git log」と同じ情報を表示する
  • diffを表示する

統計情報を確認↓

オプション --stat

$ git log --stat

表示内容:

  • 各コミットエントリに続けて変更されたファイルの一覧
  • 変更されたファイルの数、追加・削除された行数が表示される

ログをデフォルトの書式以外で出力する。↓

$ git log --pretty=oneline

--prettyのオプション

  • oneline:各コミットを1行で出力する
  • short
  • full
  • fuller
  • format:独自のログ出力フォーマットを指定する
$ git log --pretty=format:"%h - %an, %ar:%s"
ca82a6d - Scott Chacon, 6 years ago : changed the version number

formatで使用できるオプション↓

オプション 出力される内容 出力される内容
%H コミットのハッシュ
%h コミットのハッシュ(短縮版)
%T ツリーのハッシュ
%t ツリーのハッシュ (短縮版)
%P 親のハッシュ
%p 親のハッシュ (短縮版)
%an Author の名前 作業を元々行った人
%ae Author のメールアドレス
%ad Author の日付 (--date= オプションに従った形式)
%ar Author の相対日付
%cn Committer の名前 作業を適用した人
%ce Committer のメールアドレス
%cd Committer の日付
%cr Committer の相対日付
%s 件名

oneline と format のオプション --graph
アスキーグラフでブランチやマージの履歴を表示する。

$ git log --pretty=format:"%h %s" --graph
* 2d3acf9 ignore errors from SIGCHLD on trap
*  5e3ee11 Merge branch 'master' of git://github.com/dustin/grit
|\
| * 420eac9 Added a method for getting the current branch.
* | 30e367c timeout code and tests
* | 5a09431 add timeout protection to grit
* | e1193f8 support for heads with slashes in them
|/
* d6016bc require time for xmlschema
*  11d191e Merge branch 'defunkt' into local

ログ出力の制限
コミットの一部だけを表示する

「git log」の出力を制限するためのオプション

オプション 説明 コマンド例
-(n) 直近の n 件のコミットのみを表示する $ git log -2
--since, --after 指定した日付より後に作成されたコミットのみに制限する(特定の日、相対日付可能) $ git log --since=2.weeks
--until, --before 指定した日付より前に作成されたコミットのみに制限する(特定の日、相対日付可能) $ git log --before="2008-11-01"
--author エントリが指定した文字列にマッチするコミットのみを表示する $ git log --author=gitster
--committer エントリが指定した文字列にマッチするコミットのみを表示する
--grep 指定した文字列がコミットメッセージに含まれているコミットのみを表示する
-S 指定した文字列をコードに追加・削除したコミットのみを表示する $ git log -Sfunction_name
補足:
  • 特定の日 "2018-01-15" 相対日付 "2 years 1 day 3 minutes ago"
  • author と grep を両方指定する場合は、--all-matchオプションも一緒に使ってください。 そうしないと、どちらか一方にだけマッチするものも対象になっている
5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?