gitコマンドの使い方 ~ git log ~

2020年3月27日git-command

git log コマンドの概要

commit履歴を確認するコマンドです。

git log を利用するとcommitツリーを可視化することもできます。

$ git log --all --graph
* commit 137bd4bc1d64cc5d5eea4fc62511012403e42ae2 (master)
| Author: snow <snow@abc.com>
| Date:   Sat Mar 28 11:35:15 2020 +0900
|
|     file-D.txt
|
| * commit 3aa625ad77818ad3bce344cc895c796375e1e7c8 (HEAD -> develop)
|/  Author: snow <snow@abc.com>
|   Date:   Sat Mar 28 11:34:27 2020 +0900
|
|       file-C add
|
* commit 6c8045d5347fedc536dfeb8ea7b5a0c6b5cd8660
| Author: snow <snow@abc.com>
| Date:   Sat Mar 28 11:33:23 2020 +0900
|
|     fileB add
|
* commit 12a5485f15cff54a33f9dba6057b875432b7e593
  Author: snow <snow@abc.com>
  Date:   Sat Mar 28 11:32:59 2020 +0900

      file-A add

git log コマンドの使い方

git log [option]

オプションを指定すると表示する情報量や形式を変更できます。

オプションは色々あるのですが、よく使うオプションについてご紹介します。

git log オプション

–all

チェックアウト中のブランチ以外も含めてリポジトリ全体のcommit履歴を表示する

$ git log --all
commit 137bd4bc1d64cc5d5eea4fc62511012403e42ae2 (master)
Author: snow <snow@abc.com>
Date:   Sat Mar 28 11:35:15 2020 +0900

    file-D.txt

commit 3aa625ad77818ad3bce344cc895c796375e1e7c8 (HEAD -> develop)
Author: snow <snow@abc.com>
Date:   Sat Mar 28 11:34:27 2020 +0900

    file-C add

commit 6c8045d5347fedc536dfeb8ea7b5a0c6b5cd8660
Author: snow <snow@abc.com>
Date:   Sat Mar 28 11:33:23 2020 +0900

    fileB add

–pretty=oneline

1つのcommitを1行で表示する

コミット履歴が多い場合にスッキリします。

$ git log --pretty=oneline
3aa625ad77818ad3bce344cc895c796375e1e7c8 (HEAD -> develop) file-C add
6c8045d5347fedc536dfeb8ea7b5a0c6b5cd8660 fileB add
12a5485f15cff54a33f9dba6057b875432b7e593 file-A add

–oneline

–pretty=onelineと同じく1行で表示するがcommit-hashが先頭7桁で表示される

$ git log --oneline
3aa625a (HEAD -> develop) file-C add
6c8045d fileB add
12a5485 file-A add

–graph

commitのマージ状態などを簡易的なグラフで表示する

$ git log --graph
*   commit 5105e8123c3598794ed6c46702971cffc861d17c (HEAD -> master)
|\  Merge: 137bd4b 3aa625a
| | Author: snow <snow@abc.com>
| | Date:   Sat Mar 28 12:03:44 2020 +0900
| |
| |     Merge branch 'develop'
| |
| * commit 3aa625ad77818ad3bce344cc895c796375e1e7c8 (develop)
| | Author: snow <snow@abc.com>
| | Date:   Sat Mar 28 11:34:27 2020 +0900
| |
| |     file-C add
| |
* | commit 137bd4bc1d64cc5d5eea4fc62511012403e42ae2
|/  Author: snow <snow@abc.com>
|   Date:   Sat Mar 28 11:35:15 2020 +0900
|
|       file-D.txt
|
* commit 6c8045d5347fedc536dfeb8ea7b5a0c6b5cd8660
| Author: snow <snow@abc.com>
| Date:   Sat Mar 28 11:33:23 2020 +0900
|
|     fileB add
|
* commit 12a5485f15cff54a33f9dba6057b875432b7e593
  Author: snow <snow@abc.com>
  Date:   Sat Mar 28 11:32:59 2020 +0900

–decorate[=short|full|no]

git log --decorate[=short|full|no]

ブランチの表示のされ方が変わる

実際の出力例

  • short => master
  • full =>  refs/heads/master
  • no => 表示されない

defaultはshort

 

よく使うgit logのオプションの組み合わせ

–all –oneline

mergeやrebaseなどを行う前に全てのcommitを確認したい場合によく利用しています。

/c/Git/my-repo (master)
$ git log --all --oneline
5105e81 (HEAD -> master) Merge branch 'develop'
137bd4b file-D.txt
3aa625a (develop) file-C add
6c8045d fileB add
12a5485 file-A add

–all –oneline –graph

複数のブランチを運用している場合でmergeの状況を可視化したい場合に利用しています。

$ git log --all --oneline --graph
*   5105e81 (HEAD -> master) Merge branch 'develop'
|\
| * 3aa625a (develop) file-C add
* | 137bd4b file-D.txt
|/
* 6c8045d fileB add
* 12a5485 file-A add

git log で表示される各項目の意味

$ git log
commit 5105e8123c3598794ed6c46702971cffc861d17c (HEAD -> master)
Merge: 137bd4b 3aa625a
Author: snow <snow@abc.com>
Date:   Sat Mar 28 12:03:44 2020 +0900

    Merge branch 'develop'

[commit] : commit-hashとHEAD、ブランチやタグが設定されている場合は表示されます。

[Merge] : mergeで作成されたcommitの場合は元になる2つのcommit-hashの7桁が表示されます。

[Author] : git config で設定したユーザ名とメールアドレスが表示されます。

[Date] : commitの作成日付

コミットメッセージ

git log の全てのオプションを確認する方法

以下のコマンドを実行するとブラウザでgit logのヘルプページが表示される

git log --help

Gitコマンドの使い方一覧

git-command

Posted by snow