怎么理解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. [Functional Programming] Reader with Async ADT

    ReaderT is a Monad Transformer that wraps a given Monad with a Reader. This allows the interface of ...

  2. 单调栈求全1(或全0)子矩阵的个数 洛谷P5300与或和 P3400仓鼠窝

    爆零好爽,被中学生虐好爽,还好我毕业得早 求全1(或全0)子矩阵的个数,看了题解有好几种思路,我学了三种,但有两种不是很理解,而且也没另外那个跑得快,所以简单讲述一一下我会的那种来自Caro23333 ...

  3. redis基本介绍

    1.Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能(NOSQL)的key-value数据库,Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化 ...

  4. 学习Javascript的编程风格

    Javascript编程风格   Douglas Crockford是Javascript权威,Json格式就是他的发明. 去年11月他有一个演讲(Youtube),谈到了好的Javascript编程 ...

  5. JVM GC之垃圾收集算法

    1.垃圾收集概念 GC目的 分配内存,为每个新建的对象分配空间 确保还在使用的对象的内存一直还在,不能把有用的空间当垃圾回收了 释放不再使用的对象所占用的空间 我们把还被引用的对象称为活的,把不再被引 ...

  6. 【洛谷2057】 [SHOI2007]善意的投票(最小割)

    传送门 洛谷 Solution 比较巧妙啊! 考虑这个只有同意和不统一两种,所以直接令\(s\)表示选,\(t\)表示不选,然后在朋友直接建双向边就好了. 代码实现 #include<bits/ ...

  7. IN和EXISTS、not in 和not exists的效率详解

    从效率来看: 1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ; T1数据量小而T2数据量非常大时,T1<& ...

  8. javax.el.PropertyNotFoundException: Property 'id' not found on type java.lang.String 可长点心吧

    在网上搜了好多帖子都说<c:forEach items="${list }" var="stu">标签list没有加${}: 可我的问题不是这个,而 ...

  9. Android webView加载图片显示过大的问题

    webview的基本使用流程这里我就不重复说明了,本篇针对的是文章详情加载完成后出现的情况,这里我们使用的方法是:通过js脚本,重置img标签中图片的宽度和高度. 使用步骤: 1.此方法需要使用js, ...

  10. Java获取当前时间及String、datetime、date相互转化

    一.获取当前系统时间和日期并格式化输出: import java.util.Date; import java.text.SimpleDateFormat; public class NowStrin ...