1. 简介
Git是一款分布式版本控制系统,它能够追踪文件的改动历史。我们经常在项目中需要查询文件的改动,本文将介绍Git中如何查询文件的改动。
2. 基本命令
2.1 git diff
Git中最常用的查询文件改动命令是git diff,它可以显示当前工作目录与暂存区之间或者两个提交之间的文件差异。
下面我们来看一个例子,假设我们在项目中修改了index.html文件,可以使用如下命令查询文件的改动:
git diff index.html输出结果如下:
diff --git a/index.html b/index.html
index 1367d56..28e5ff2 100644
--- a/index.html
+++ b/index.html
@@ -5,7 +5,7 @@
This is a test.

输出结果中除了提交的详细信息外,还包括了提交所改动的文件和文件的差异信息。
3.2 git diff-tree
git diff-tree命令可以显示两个提交之间的文件改动。它的语法如下:
git diff-tree ~ 其中,~表示取离commit1最近的第
例如,如果我们想查看最近两个提交之间的文件改动,可以使用如下命令:
git diff-tree HEAD~2 HEAD输出结果如下:
:000000 100644 0000000 1367d56 A index.html
:100644 100644 28e5ff2 4337f33 M index.html
输出结果中,A表示加入了新文件,M表示文件的修改。
3.3 git log --graph
git log --graph可以以一个有向无环图的形式展示提交历史,其中每个提交节点代表一次提交,节点之间的线条代表一个或多个在提交中产生的分支。
例如,使用如下命令可以展示当前分支的提交历史:
git log --graph输出结果如下:
* commit 1cce17b6f9238c49a1c27e2e359e973ad32399d4 (HEAD -> master)
| Author: John Doe
| Date: Sun Jul 4 11:42:07 2021 +0800
|
| Added footer to index.html
|
* commit 850f0b40ba8a624a5134feb29577205d8fa898e7
| Author: John Doe
| Date: Sat Jul 3 22:34:53 2021 +0800
|
| Initial commit
输出结果中的星号表示提交节点,分支之间的线条代表提交之间的差异。
4. 总结
通过本文的介绍,我们学会了如何在Git中查询文件的改动。通过git diff、git log、git show和git diff-tree等基本和高级查询命令,可以轻松地查询文件的改动历史,并了解文件在不同提交之间的差异。


