Git でファイルのコミット履歴を表示する
このチュートリアルでは、Git の特定のファイルに関連付けられているコミットの履歴を表示する方法を紹介します。
Git はバージョン管理システムです。Git を使用して、ファイルに加えられた変更を追跡します。
多くの場合、特定のファイルに加えられた変更を参照して表示する必要があります。Git は、ファイルに関連付けられたコミットの履歴を、ファイルで行われた特定の変更などの完全な詳細とともに表示するコマンドを提供します。
これを例を挙げて説明します。
gitk
と git log
を使用して、Git 内のファイルに関連付けられたコミットの履歴を表示する
共同開発環境では、Git リポジトリ内の特定のファイルのコミット履歴で特定のファイルに加えられた変更を表示したいことがよくあります。
特定のコミットで特定のファイルにどのような特定の変更が加えられたかを確認したいと思います。
たとえば、README.txt
という名前のファイルがあります。このファイルを使用して、プロジェクトの開始以来、プロジェクトの情報を保持する場合があります。
ここで、その特定のファイルのコミット履歴を表示するとします。この目的のために、Git が提供する gitk
ツールを使用できます。
Gitk はグラフィカルリポジトリブラウザです。これは、リポジトリの履歴を調査および視覚化するために使用されます。
gitk
を使用して特定のファイルのコミット履歴を表示する構文は、gitk <filename>
です。
したがって、ファイル README.txt
の履歴を表示するには、次のようにコマンドを実行します。
$ gitk README.txt
以下のように Gitk のグラフィカルユーザーインターフェイス(GUI)を起動します。
左上のペインには、リポジトリ内のファイル README.txt
へのコミットが表示され、最新のコミットが上部に表示されます。
右下には、選択したコミットの影響を受けるファイルのリストが表示されます。ファイル名が README.txt
のパスが表示されます。
左下のペインには、ファイル README.txt
のコミットの詳細と完全な差分が表示されます。
したがって、Gitk ツールは、Git 内の特定のファイルに関連付けられたコミットの履歴を表示するのに最適です。
同様の目的でコマンド git log
を使用することもできます。特定のファイルのコミット履歴を表示するコマンドの構文は、git log -p <filename>
です。
したがって、この場合、コマンドは次のように実行されます。
$ git log -p README.txt
commit 8f2aa9af1a34ba8d57f60edcb6a29dfa23401e39 (HEAD -> main, origin/main)
Author: John Doe <johndoe@xyz.com>
Date: Mon Dec 27 12:52:13 2021 +0530
updated Readme.txt
diff --git a/project-path/README.txt b/project-path/README.txt
index 870c0a8..d09182c 100644
--- a/project-path/README.txt
+++ b/project-path/README.txt
@@ -1 +1,3 @@
-Initial project commit
+Further changes done
+1. This change
+2. That change
commit d25da7f49fae88a50bbc144df2429748077a2063
Author: John Doe <johndoe@xyz.com>
Date: Mon Dec 27 12:50:53 2021 +0530
Inital Readme.txt
diff --git a/project-path/README.txt b/project-path/README.txt
new file mode 100644
index 0000000..870c0a8
--- /dev/null
+++ b/project-path/README.txt
@@ -0,0 +1 @@
+Initial project commit
-p
オプションを指定した git log
コマンドは、ファイルのコミット履歴と各コミット間の差異を表示します。
Gitk ツールは、git log
コマンドの GUI ラッパーと見なすことができます。
したがって、Git 内の特定のファイルに関連付けられたコミットの履歴を表示する方法について詳しく説明しました。
詳細については、以下をご覧ください。