Git(3) -- 查看提交历史


Git 提交历史一般常用两个命令:

  • git log - 查看历史提交记录。
  • git blame - 以列表形式查看指定文件的历史修改记录。

Git(3) -- 查看提交历史

git log

在使用 Git 提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,我们可以使用 git log 命令查看。

git log 默认查看当前分支的提交历史

通过以下可以看到当前为master分支

通过:处上下键可以查看更早的提交历史。

在:处输入q退出历史版本查看

wang@LAPTOP-4HQAPUSB MINGW64 /d/IdeaProjects/spring-boot-study (master)
$ git log
commit 0380f63f9c1d4df1309f53fad1728d1e763643f2 (HEAD -> master, origin/master)
Author: 王清雷 <wangqinglei01@renrenche.com>
Date:   Mon Jun 28 00:35:09 2021 +0800

    feat:集成Redis

commit fe056300b80f84a2caf9d92662d94e8e3fe218f1
Merge: a42c966 83f0da7
Author: 王清雷 <wangqinglei01@renrenche.com>
Date:   Sun Jun 20 01:37:37 2021 +0800

    Merge remote-tracking branch 'origin/master'

    # Conflicts:
    #       src/main/java/com/rrc/constant/CommonConst.java

commit a42c966e039d7db874673a55f3dad62c07b3f216
Author: 王清雷 <wangqinglei01@renrenche.com>
Date:   Sun Jun 20 01:36:27 2021 +0800

    feat:Redis发布订阅学习

commit aa2a13e24a001e25b84921adaa02914837459053
:

我们可以通过–oneline 选项来查看历史记录的简洁的版本。

wang@LAPTOP-4HQAPUSB MINGW64 /d/IdeaProjects/spring-boot-study (master)
$ git log --oneline
0380f63 (HEAD -> master, origin/master) feat:集成Redis
fe05630 Merge remote-tracking branch 'origin/master'
a42c966 feat:Redis发布订阅学习
aa2a13e feat:commit提交回滚
:

我们可以通过–n[number] 选项来查看最近的几个历史记录版本。

查看最近的两条提交记录

git log -n2

git log -n2 –oneline

wang@LAPTOP-4HQAPUSB MINGW64 /d/IdeaProjects/spring-boot-study (master)
$ git log -n2
commit 0380f63f9c1d4df1309f53fad1728d1e763643f2 (HEAD -> master, origin/master)
Author: 王清雷 <wangqinglei01@renrenche.com>
Date:   Mon Jun 28 00:35:09 2021 +0800

    feat:集成Redis

commit fe056300b80f84a2caf9d92662d94e8e3fe218f1
Merge: a42c966 83f0da7
Author: 王清雷 <wangqinglei01@renrenche.com>
Date:   Sun Jun 20 01:37:37 2021 +0800

    Merge remote-tracking branch 'origin/master'

    # Conflicts:
    #       src/main/java/com/rrc/constant/CommonConst.java
wang@LAPTOP-4HQAPUSB MINGW64 /d/IdeaProjects/spring-boot-study (master)
$ git log -n2 --oneline
0380f63 (HEAD -> master, origin/master) feat:集成Redis
fe05630 Merge remote-tracking branch 'origin/master'

我们可以通过–all 选项查看所有分支的版本演进历史

wang@LAPTOP-4HQAPUSB MINGW64 /d/IdeaProjects/spring-boot-study (2528c1e)
$ git log --all
commit 943411f8b99e8ab60bf39f03b2e513bf40e66337 (HEAD -> 2528c1e, origin/2528c1e)
Author: 王清雷 <wangqinglei01@renrenche.com>
Date:   Mon Jun 28 01:02:51 2021 +0800

    feat:默认分页常量增加

commit 0380f63f9c1d4df1309f53fad1728d1e763643f2 (origin/master, master)
Author: 王清雷 <wangqinglei01@renrenche.com>
Date:   Mon Jun 28 00:35:09 2021 +0800

    feat:集成Redis

commit fe056300b80f84a2caf9d92662d94e8e3fe218f1
Merge: a42c966 83f0da7
Author: 王清雷 <wangqinglei01@renrenche.com>
Date:   Sun Jun 20 01:37:37 2021 +0800

    Merge remote-tracking branch 'origin/master'

    # Conflicts:
    #       src/main/java/com/rrc/constant/CommonConst.java

:

我们可以通过–graph 选项以图形化的形式来查看版本演进历史

wang@LAPTOP-4HQAPUSB MINGW64 /d/IdeaProjects/spring-boot-study (2528c1e)
$ git log --all --graph
* commit 943411f8b99e8ab60bf39f03b2e513bf40e66337 (HEAD -> 2528c1e, origin/2528c1e)
| Author: 王清雷 <wangqinglei01@renrenche.com>
| Date:   Mon Jun 28 01:02:51 2021 +0800
|
|     feat:默认分页常量增加
|
* commit 0380f63f9c1d4df1309f53fad1728d1e763643f2 (origin/master, master)
| Author: 王清雷 <wangqinglei01@renrenche.com>
| Date:   Mon Jun 28 00:35:09 2021 +0800
|
|     feat:集成Redis
|
*   commit fe056300b80f84a2caf9d92662d94e8e3fe218f1
|\  Merge: a42c966 83f0da7
| | Author: 王清雷 <wangqinglei01@renrenche.com>
| | Date:   Sun Jun 20 01:37:37 2021 +0800
| |
| |     Merge remote-tracking branch 'origin/master'
| |
| |     # Conflicts:
| |     #       src/main/java/com/rrc/constant/CommonConst.java
| |
:

以后补IDEA相关操作

git blame

git blame 命令是以列表形式显示修改记录,如下实例:

D:\IdeaProjects\spring-boot-study>git blame src\main\java\com\rrc\controller\school\SchoolController.java
^d504062 (qinglei1989 2021-05-23 11:24:30 +0800  1) package com.rrc.controller.school;
^d504062 (qinglei1989 2021-05-23 11:24:30 +0800  2)
91fbfe36 (王清雷      2021-06-06 16:19:40 +0800  3) import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
d684dcf9 (qinglei1989 2021-05-24 14:05:50 +0800  4) import com.rrc.dto.base.ResultDto;
6c77b894 (qinglei1989 2021-05-25 13:53:52 +0800  5) import com.rrc.service.ISchoolService;
d684dcf9 (qinglei1989 2021-05-24 14:05:50 +0800  6) import com.rrc.util.AppUtil;
d684dcf9 (qinglei1989 2021-05-24 14:05:50 +0800  7) import com.rrc.vo.SchoolVo;
^d504062 (qinglei1989 2021-05-23 11:24:30 +0800  8) import lombok.extern.slf4j.Slf4j;
6c77b894 (qinglei1989 2021-05-25 13:53:52 +0800  9) import org.springframework.beans.factory.annotation.Autowired;
2f195422 (王清雷      2021-06-06 22:38:21 +0800 10) import org.springframework.validation.annotation.Validated;
d684dcf9 (qinglei1989 2021-05-24 14:05:50 +0800 11) import org.springframework.web.bind.annotation.*;
d684dcf9 (qinglei1989 2021-05-24 14:05:50 +0800 12)
d684dcf9 (qinglei1989 2021-05-24 14:05:50 +0800 13) import javax.validation.Valid;
d684dcf9 (qinglei1989 2021-05-24 14:05:50 +0800 14) import javax.validation.constraints.NotBlank;
^d504062 (qinglei1989 2021-05-23 11:24:30 +0800 15)
^d504062 (qinglei1989 2021-05-23 11:24:30 +0800 16) @RestController
d684dcf9 (qinglei1989 2021-05-24 14:05:50 +0800 17) @RequestMapping("v1")
^d504062 (qinglei1989 2021-05-23 11:24:30 +0800 18) @Slf4j
^d504062 (qinglei1989 2021-05-23 11:24:30 +0800 19) public class SchoolController {
d684dcf9 (qinglei1989 2021-05-24 14:05:50 +0800 20)
6c77b894 (qinglei1989 2021-05-25 13:53:52 +0800 21)     @Autowired
6c77b894 (qinglei1989 2021-05-25 13:53:52 +0800 22)     private ISchoolService schoolService;
6c77b894 (qinglei1989 2021-05-25 13:53:52 +0800 23)
d684dcf9 (qinglei1989 2021-05-24 14:05:50 +0800 24)     @GetMapping("/school/{schoolId}")
a5ee4be0 (qinglei1989 2021-05-26 19:45:31 +0800 25)     public ResultDto querySchool(@NotBlank(message = "schoolId不能为空") @PathVariable("schoolId") Long schoolId) {
d684dcf9 (qinglei1989 2021-05-24 14:05:50 +0800 26)
:

文章作者: WangQingLei
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 WangQingLei !
  目录