怎么理解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. SSH登录卡顿解决方案

    在使用ssh远程登录Linux主机时,经常出现需要等待一段时间才能登录,甚至登录超时的情况 原因一:SSH服务器默认开启了DNS的查询功能:UseDNS=yes 当UseDNS选项处于开启状态时,客户 ...

  2. 2、创建MFC应用程序——基于对话框,时间计时器

    使用计时器更新MFC界面时间,频率1s. 文件——新建项目——MFC应用程序,下一步,选择基于对话框,其他默认,完成. 双击窗体(或者鼠标右键)进入类向导,自动创建Ontimer()函数 void C ...

  3. PHP mysqli_get_charset() 函数

    mysqli_get_charset() 函数返回字符集对象. <?php $con=mysqli_connect("localhost","my_user&quo ...

  4. 部分易错JS知识点整理(缓慢填坑)

    主要还是各地搜刮来的,本人对于这方面的总结还是8彳亍,给各位大佬磕头了砰砰砰 1. 2.JS闭包和匿名对象以及作用域 js在执行之前,会将所有带var和function的进行提前定义和声明.(带var ...

  5. 图的最小生成树(java实现)

    1.图的最小生成树(贪心算法) 我两个算法的输出都是数组表示的,当前的索引值和当前索引对应的数据就是通路,比如parent[2] = 5;即2和5之间有一个通路,第二个可能比较好理解,第一个有点混乱 ...

  6. BZOJ 4712 洪水 动态dp(LCT+矩阵乘法)

    把之前写的版本改了一下,这个版本的更好理解一些. 特地在一个链的最底端特判了一下. code: #include <bits/stdc++.h> #define N 200005 #def ...

  7. HGOI 20191107 题解

    Problem A 树状数组 给出下列$C++$代码: 设区间加操作$modify(l,r)$为调用两次$update(r,1)$和$update(l-1,-1)$ 设$f(l,r)$表示在初始$cn ...

  8. Linux进程通信之文件

    父子进程共享打开的文件描述符------使用文件完成进程间通信. /*** fork_share_fd.c ***/ #include <stdio.h> #include <uni ...

  9. 单链表之Java实现

    初次接触java,用java也写了一个链表.代码如下: import java.io.*; class Node{ public int data; //数据域 public Node next; / ...

  10. [笔记]C++声明返回数组指针的函数

    数组指针的声明:type (*name)[size]; 由于数组不能拷贝,所以函数不能返回数组.但是函数可以返回指针和引用,所以函数可以返回数组指针或引用. 和数组指针的声明类似: type (*fu ...