リポジトリのコミット履歴を表示します。
| オプション | 説明 |
|---|---|
| --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 @@
これは変更されていない行です。
-これは削除された行です。
+これは追加された行です。
+これはもう一つ追加された行です。
これも変更されていない行です。
-これも削除された行です。
+これは変更された行です。
最後の変更されていない行です。
この例では: