リポジトリのコミット履歴を表示します。
オプション | 説明 |
---|---|
--oneline | 各コミットを1行で表示 |
--graph | ブランチとマージの履歴をASCIIグラフで表示 |
--decorate | ブランチやタグなどの参照を表示 |
--all | すべてのブランチのコミットを表示 |
-p, --patch | 各コミットの差分も表示 |
-n <数> | 表示するコミット数を制限 |
--author=<パターン> | 特定の作者のコミットのみ表示 |
--since=<日付>, --after=<日付> | 指定した日付以降のコミットを表示 |
--until=<日付>, --before=<日付> | 指定した日付以前のコミットを表示 |
例:
git log
- コミット履歴を表示git log --oneline
- 簡潔な形式でコミット履歴を表示git log --oneline --graph --all
- すべてのブランチのコミット履歴をグラフ形式で表示git log -p
- 各コミットの差分も含めて表示git log -n 5
- 最新の5つのコミットのみ表示git log --author="John"
- Johnが作成したコミットのみ表示git log --since="2023-01-01"
- 2023年1月1日以降のコミットを表示git log file.txt
- 特定のファイルに関するコミット履歴を表示
ファイルの変更内容を表示します。
オプション/引数 | 説明 |
---|---|
(引数なし) | 作業ディレクトリとステージングエリアの差分 |
--staged, --cached | ステージングエリアと最新のコミットの差分 |
<コミット1> <コミット2> | 2つのコミット間の差分 |
--name-only | 変更されたファイル名のみを表示 |
--name-status | 変更されたファイル名と変更タイプ(追加/修正/削除)を表示 |
--color-words | 単語単位で差分を色付け |
例:
git diff
- 作業ディレクトリとステージングエリアの差分を表示git diff --staged
- ステージングエリアと最新のコミットの差分を表示git diff HEAD
- 作業ディレクトリと最新のコミットの差分を表示git diff HEAD~1 HEAD
- 最新のコミットと1つ前のコミットの差分を表示git diff main feature
- mainブランチとfeatureブランチの差分を表示git diff -- file.txt
- 特定のファイルの差分のみを表示
git diffコマンドの出力を理解することは、変更内容を正確に把握するために重要です。以下にdiff出力の基本的な読み方を説明します。
diff --git a/ファイル名 b/ファイル名 index ハッシュ1..ハッシュ2 モード --- a/ファイル名 +++ b/ファイル名 @@ -開始行,行数 +開始行,行数 @@ コンテキスト情報 - 削除された行 + 追加された行 変更されていない行
diff --git a/example.txt b/example.txt index abc1234..def5678 100644 --- a/example.txt +++ b/example.txt @@ -1,5 +1,6 @@ これは変更されていない行です。 -これは削除された行です。 +これは追加された行です。 +これはもう一つ追加された行です。 これも変更されていない行です。 -これも削除された行です。 +これは変更された行です。 最後の変更されていない行です。
この例では: