查看某个文件的提交

使用 Git log 命令可以看到版本库中所有的提交,如果我们想看某个具体文件的提交修改历史,可以使用:git log filename 命令:

# git log hello.c
commit 117a27d57ab71652a6a6f1235dbc8a573c04b26e (HEAD -> master)
Author: litao.wang <dd@qq.com>
Date:   Thu Dec 9 22:39:52 2021 -0800

    add function

commit abf52eab34bf06f1a29ceb9b27c02eaec07cd043
Author: litao.wang <dd@qq.com>
Date:   Thu Dec 9 22:39:05 2021 -0800

    3th commit

commit 2043d327bbce15b1e5536a5fc278eb3414f8a23d
Author: litao.wang <dd@qq.com>
Date:   Thu Dec 9 22:38:26 2021 -0800

    main(): add printf()

查看某个文件每次提交的修改记录和变化:

# git log -p hello.c
commit 117a27d57ab71652a6a6f1235dbc8a573c04b26e (HEAD -> master)
Author: litao.wang <dd@qq.com>
Date:   Thu Dec 9 22:39:52 2021 -0800

    add function

diff --git a/hello.c b/hello.c
index 5f6ee20..4b85610 100644
--- a/hello.c
+++ b/hello.c
@@ -4,3 +4,8 @@
     printf("hello world\n");
     return 0;
 }
+
+int add (int a, int b)
+{
+    return a + b;
+}

commit abf52eab34bf06f1a29ceb9b27c02eaec07cd043
Author: litao.wang <dd@qq.com>
Date:   Thu Dec 9 22:39:05 2021 -0800

    3th commit

diff --git a/hello.c b/hello.c
index 02ec11b..5f6ee20 100644
--- a/hello.c
+++ b/hello.c
@@ -1,5 +1,6 @@
 #include <stdio.h>
 {
+    printf("hello zhaixue.cc\n");
     printf("hello world\n");
     return 0;
 }

一次提交中可能会修改多个文件,如果我们想在某个提交中查看某个指定的文件的修改,可以在Git log中通过commit_id和filename 指定:

# git show 117a27d57ab716 hello.c
commit 117a27d57ab71652a6a6f1235dbc8a573c04b26e (HEAD -> master)
Author: litao.wang <dd@qq.com>
Date:   Thu Dec 9 22:39:52 2021 -0800

    add function

diff --git a/hello.c b/hello.c
index 5f6ee20..4b85610 100644
--- a/hello.c
+++ b/hello.c
@@ -4,3 +4,8 @@
     printf("hello world\n");
     return 0;
 }
+
+int add (int a, int b)
+{
+    return a + b;
+}
《Linux三剑客》视频教程,从零开始快速掌握Linux开发常用的工具:Git、Makefile、vim、autotools、debug,免费赠送C语言视频教程,C语言项目实战:学生成绩管理系统。详情请点击淘宝链接:Linux三剑客