怎么理解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. HDU 6057 - Kanade's convolution | 2017 Multi-University Training Contest 3

    /* HDU 6057 - Kanade's convolution [ FWT ] | 2017 Multi-University Training Contest 3 题意: 给定两个序列 A[0 ...

  2. 【方法】JS判断当前页面环境:PC端/移动端,安卓/IOS,微信环境/QQ环境等等

    [主要知识] 浏览器设备信息:navigator.userAgent(本文中主要用到知识) 浏览器版本信息:navigator.appVersion var ua = navigator.userAg ...

  3. App自动化-python基础

    定义类:类变量.成员变量.局部变量:构造函数.类方法:实例化对象: # -*- coding: utf-8 -*- ''' Created on 2019-6-25 @author: adminstr ...

  4. SQL Server 基础:ADO.NET

    序言 Connection 主要提供与数据库的连接功能 Command 用于返回数据.修改数据.运行存储过程以及发送或检索参数信息的数据库命令 CommandType 获取或设置Command对象要执 ...

  5. 【csp模拟赛3】组合数学

    思路: 先排序,取最大的在剩余左边任意找k-1个数,所以是排列组合,费马小定理求逆元,预处理阶乘,注意要取模.. 代码: #include<cstdio> #include<iost ...

  6. apache和tomcat有什么不同

    前言 apache是web服务器,tomcat是应用(java)服务器,它只是一个servlet容器,可以认为是apache的扩展,但是可以独立于apache运行. 换句话说,apache是一辆卡车, ...

  7. MySQL原理解析

    逻辑架构 MySQL逻辑架构整体分为三层: 客户端层,连接处理.授权认证.安全等功能均在这一层处理. 核心服务层,包括查询解析.分析.优化.缓存.内置函数(比如:时间.数学.加密等函数).所有的跨存储 ...

  8. IDEA checkout Git 分支 弹出 Git Checkout Problem

    1. 本地分支切换的时候(例如A切到B),会弹出来Restore workspace on branch switching 对话框,如果选择是的话,在切换分支的时候,你在当前分支(A)所做的一些还未 ...

  9. mysql连表操作是先连表还是先查询条件

    mysql连表操作是先连表还是先查询条件 一.总结 一句话总结: 连表操作时:先根据查询条件和查询字段确定驱动表,确定驱动表之后就可以开始连表操作了,然后再在缓存结果中根据查询条件找符合条件的数据 1 ...

  10. 炉石兄弟 修复图腾师问题 by大神beebee102, 还有阴燃电鳗

    修复图腾师问题   beebee102 修复了先摇图腾再下图腾师的问题,另外加了阴燃电鳗的sim卡.在兄弟策略的模拟程序中测试了没问题,真机没有试过,麻烦吧友测试了回复一下.链接: [有效] http ...