怎么理解git commit 命令

git commit 相当于 我们虚拟机快照操作,每次执行commit命令 相当于对本地仓库做一次快照,保存了当时仓库的状态,

git commit -m 加上的""参数相当于给这次快照做一个备注,这个备注操作什么。

在命令行,怎么查看有哪些快照?

使用git log命令

查看历史提交 git log

  当我们在仓库里做了很多次提交之后,免不了需要回看提交记录,看看自己之前的改动。
有两种 Git 命令可以帮我们查看记录,
  git log 是最直接的查看历史提交的命令,git log 可直接用也可带参数用,常用的有
下面几种:
标准查看:git log、

// 显示所有历史提交标准信息,每个提交信息包括 SHA 号,作者,时间以及备注标题
[root@ci-node1 git_test]# git log
commit 8982c79e30d7ad590aa9e728e875bfbbfe75d64e // 经过hash计算的字符串
// 是commit 唯一标识 Author: wendong <wendong866@.com> // commit提交的作者
Date: Tue Jul :: + // 提交的时间
commit b //备注 commit 1f5fb041fe61e5cf57ee836177a3a961bf854cf1
Author: wendong <wendong866@.com>
Date: Tue Jul :: +
commit a //经过hash计算的字符串:保证每次commit 标识不一样,commit的唯一标识

我们可以通过git log 查看git commit 历史

精简查看 git log – oneline

//显示所有历史提交精简信息,每个提交信息仅占一行,信息包括 SHA 号以及备注标题
[root@ci-node1 git_test]# git log --oneline
af5856a modify a
52e8981 rename a.txt to a
cc8bd80 rename a to a.txt
73d7230 commit a

git log --oneline --decorate

这个命令用来查看分支命令,查看当前在哪个分支

[root@ci-node1 git_test]# git log --oneline --decorate
af5856a (HEAD -> master) modify a
52e8981 rename a.txt to a
cc8bd80 rename a to a.txt
73d7230 commit a

完整查看 git log –p

把commit提交的完整的信息打印出来,包括内容变动都会打印出来

// 显示所有历史提交完整信息,比标准查看多了提交的具体文件改动信息。

[root@ci-node1 git_test]# git log -p
commit af5856a1ebc7f2242ea0ec2a130ee90047a13531
Author: wendong <wendong866@.com>
Date: Mon Aug :: + modify a diff --git a/a b/a
index e69de29..9daeafb
--- a/a
+++ b/a
@@ -, + @@
+test commit 52e89813dff7c9e1261a6bdc94f284705cb8b4fb
Author: wendong <wendong866@.com>
Date: Mon Aug :: + rename a.txt to a diff --git a/a.txt b/a
similarity index %
rename from a.txt
rename to a commit cc8bd8044be923aae7d44641fb99d25f574db8a5
Author: wendong <wendong866@.com>
Date: Mon Aug :: + rename a to a.txt diff --git a/a b/a.txt
similarity index %
rename from a
rename to a.txt commit 73d723093b88edda997936aa1fa7cc5ff1175e98
Author: wendong <wendong866@.com>
Date: Mon Aug :: +

git 命令 查看历史提交 git log的更多相关文章

  1. git杂记-查看历史提交

    普通查看:git log.输入q退出比较. $ git log commit ca82a6dff817ec66f44342007202690a93763949 Author: Scott Chacon ...

  2. 『现学现忘』Git基础 — 24、Git中查看历史版本记录

    目录 1.查看详细的历史版本记录 2.简化显示历史版本记录 3.历史版本记录常用操作 (1)指定查看最近几次提交的内容 (2)以简单图形的方式查看分支版本历史 (3)翻页与退出 4.查看分支相关的版本 ...

  3. git命令将本地代码提交到github

    git命令将本地代码提交到github 步骤: 第一步:进入到相应的文件夹,用git init命令,将该文件夹变成git可管理的仓库 git init 第二步:将项目添加到本地仓库 可以用git st ...

  4. git删除所有历史提交记录,只留下最新的干净代码

    git删除所有历史提交记录,只留下最新的干净代码 1.Checkout git checkout --orphan latest_branch 2. Add all the files git add ...

  5. Git 删除所有历史提交记录方法

    Git 删除所有历史提交记录方法 切换分支 git checkout --orphan latest_branch 添加所有文件 git add -A 提交更改 git commit -am &quo ...

  6. 通过git命令“六步”提交新项目到码云

    通过git命令“六步”提交新项目到码云 一.初始化本地仓库 git init 二.添加文件 git add . 三.添加远程数据仓库链接 git remote add origin https://g ...

  7. GIT入门笔记(8)-- 查看历史提交记录/根据版本号回到过去或未来

    在Git中,用HEAD表示当前版本,也就是最新的提交版本, 上一个版本就是HEAD^, 上上一个版本就是HEAD^^, 往上100个版本写100个^比较容易数不过来,所以写成HEAD~100. Git ...

  8. git rebase修改历史提交内容

    目录 简述 解决过程 简述 git提交历史中有一次提交的内容是有问题,因为每隔一段时间就要发一次版本,所以必须修改这次提交的内容,以便其不影响已经发布的版本. 大概是这样子的 A --- B ---- ...

  9. 使用git命令修改commit提交信息

    很多时候我们在提交代码时可能会把commit提交信息写错了,这个时候我们就可以用到下面的git命令来修改commit提交信息 git commit --amend 输入"i"之后进 ...

随机推荐

  1. linux 下使用github

    Linux下Git和GitHub环境的搭建 1.创建Github帐号  (name@server.com) 2.安装git [root@cloud ~]# yum install git -y 3.生 ...

  2. nginx反向代理tomcat 时,出现https redirect后变成http的问题解决方法

    需要修改两个配置 1.nginx配置 location / { proxy_pass http://test-server; proxy_set_header Host $host; proxy_se ...

  3. Luogu P1066 2^k进制数 组合数学

    分两种情况:$k|n$和$k$不整除$n$ 如果$k|n$,那么长度为$n$的二进制数就能被恰好分成$n/k$个块:所以若某个数长度是$x$个块,由于每个块内能填不同的$2^k-1$个数,那么就有$C ...

  4. 预处理、const、static与sizeof-sizeof与strlen有哪些区别

    1:它们的区别如下: (1)sizeof是操作符,strlen是函数. (2)sizeof操作符的结果类型是size_t,它在头文件中typedef为unsignedint类型,该类型保证能容纳实现所 ...

  5. polya置换

    UVA10294 POLYA定理的基本应用 题意:有n个珠子围成的环,有t种颜色可以染这些珠子:如果这个环可以旋转有几种办法:如果这个环可以旋转,且可以翻转,有几种办法: 参考博客 刘汝佳的分析: 等 ...

  6. 报错1251 - Client does not support authentication protocol 解决办法

    # 1.容器中登录mysql,查看mysql的版本 status; # 2,进行授权远程连接(注意mysql 8.0跟之前的授权方式不同) GRANT ALL ON *.* TO 'root'@'%' ...

  7. curl 使用笔记

    一.使用案例 curl -H "cookie:userName=shangyy" www.baidu.com 二.使用 1.从Netscape的网页服务器上获得该网站的主页: cu ...

  8. docker安装和基本命令

    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口. ...

  9. mvc导出数据到pdf

    using iTextSharp;using iTextSharp.text;using iTextSharp.text.pdf; , , ") { System.Collections.A ...

  10. IDEA如何构建mybatis

    任何一个软件都要和数据库关联,软件需要的数据都存储在数据库中. 对于经常使用的数据库相关的代码就出现了很多冗余的代码,持久层框架也随之出现. 目前使用比较流程的持久层框架有hibernate和myba ...