在 Git 中查看文件的提交历史

Azhar Bashir Khan 2022年4月22日
在 Git 中查看文件的提交历史

本教程将介绍如何在 Git 中查看与特定文件关联的提交历史记录。

Git 是一个版本控制系统;我们使用 Git 来跟踪对文件所做的更改。

通常我们需要浏览和查看对特定文件所做的更改。Git 提供命令来查看与文件关联的提交的历史记录以及完整的详细信息,例如文件中所做的特定更改。

我们现在将用一个例子来说明这一点。

在 Git 中使用 gitkgit log 查看与文件相关的提交历史

在协作开发环境中,我们经常希望在 Git 仓库中该文件的提交历史记录中查看对特定文件所做的更改。

我们想找出在给定提交中对特定文件进行了哪些特定更改。

比如说,我们有一个名为 README.txt 的文件。我们可能会使用此文件来保存项目自项目启动以来的信息。

现在,假设我们要查看该特定文件的提交历史。为此,我们可以使用 Git 提供的 gitk 工具。

Gitk 是一个图形化仓库浏览器。它用于探索和可视化仓库的历史。

使用 gitk 查看特定文件的提交历史的语法是 gitk <filename>

因此,查看文件 README.txt 的历史记录,我们将执行如下命令。

$ gitk README.txt

它启动 Gitk 的图形用户界面 (GUI),如下所示。

gitk-example1

左上窗格显示了对仓库中文件 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 中查看与特定文件关联的提交的历史记录。

欲了解更多信息,请访问 -

  1. Gitk
  2. gitk - Git 仓库浏览器
  3. git-log

相关文章 - Git Commit