当前位置: 首页 > news >正文

05 Git 基础 – 查看提交历史

查看提交历史

在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的工具是 git log 命令。

接下来的例子会用我专门用于演示的 simplegit 项目, 运行下面的命令获取该项目源代码:

git clone https://github.com/schacon/simplegit-progit

然后在此项目中运行 git log,应该会看到下面的输出:

$ git log commit ca82a6dff817ec66f44342007202690a93763949Author:ScottChacon<schacon@gee-mail.com>Date:MonMar1721:52:112008-0700changed the version number commit085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7Author:ScottChacon<schacon@gee-mail.com>Date:SatMar1516:40:332008-0700removed unnecessary test commit a11bef06a3f659402fe7563abf99ad00de2209e6Author:ScottChacon<schacon@gee-mail.com>Date:SatMar1510:31:282008-0700first commit

默认不用任何参数的话,git log 会按提交时间列出所有的更新,最近的更新排在最上面。 正如你所看到的,这个命令会列出每个提交的 SHA-1 校验和、作者的名字和电子邮件地址、提交时间以及提交说明。

git log 有许多选项可以帮助你搜寻你所要找的提交, 接下来我们介绍些最常用的。

一个常用的选项是 -p,用来显示每次提交的内容差异。 你也可以加上 -2 来仅显示最近两次提交:

$ git log-p-2commit ca82a6dff817ec66f44342007202690a93763949Author:ScottChacon<schacon@gee-mail.com>Date:MonMar1721:52:112008-0700changed the version number diff--git a/Rakefileb/Rakefileindex a874b73..8f94139100644---a/Rakefile+++b/Rakefile@@-5,7+5,7@@ require 'rake/gempackagetask' spec=Gem::Specification.newdo|s|s.platform=Gem::Platform::RUBYs.name="simplegit"-s.version="0.1.0"+s.version="0.1.1"s.author="Scott Chacon"s.email="schacon@gee-mail.com"s.summary="A simple gem for using Git in Ruby code."commit085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7Author:ScottChacon<schacon@gee-mail.com>Date:SatMar1516:40:332008-0700removed unnecessary test diff--git a/lib/simplegit.rb b/lib/simplegit.rb index a0a60ae..47c6340100644---a/lib/simplegit.rb+++b/lib/simplegit.rb @@-18,8+18,3@@classSimpleGitend end--if$0==__FILE__-git=SimpleGit.new-puts git.show-end \Nonewline at end of file
http://www.jsqmd.com/news/710644/

相关文章:

  • 梯度提升算法(GBDT)实战:四大库对比与优化技巧
  • mysql用户无法访问存储过程权限提示_MySQL EXECUTE赋权方案
  • GridPix探测器在低能X射线探测中的多级背景抑制技术
  • FlicFlac音频转换终极指南:轻量级设计的工程艺术与实战深度解析
  • RWKV7-1.5B效果展示:实测中英文切换对话,生成速度惊艳
  • 期刊投稿 AI 痕迹高,比话pass 一键降 AI 率到 5% 过期刊 AIGC 检测! - 我要发一区
  • 别只盯着代码了!聊聊CTF Misc里那些‘非主流’的解题思路:以CATCTF为例
  • 终极MAA自动化助手:5分钟掌握高效游戏管理全攻略
  • ShellGPTMobile:免登录免费使用ChatGPT的移动端开源客户端深度解析
  • 车载语音助手安全评估:CAR-bench框架解析
  • 深度学习注意力机制:原理、实现与应用解析
  • Awesome ChatGPT资源全解析:从客户端到自托管,打造你的AI工作流
  • 深入解析 ua-parser:从 User-Agent 字符串到结构化数据的实战指南
  • 一次大数据平台面试被 K8S 追问打穿后,我把这些知识盲点补齐了
  • 智能桌面革命:3步构建高效数字工作空间的完整指南
  • 投稿前知网 AI 率高,比话pass 30 分钟一键降期刊论文 AI 率到 3%! - 我要发一区
  • MusicDownload免费音乐下载工具:从入门到精通的全方位指南
  • 如何在Blender中完美处理3D打印3MF格式:完整导入导出指南
  • 手把手教你修改BEVFusion代码,在单张RTX 4090上跑通训练和测试
  • 终极Android截图自由指南:如何突破FLAG_SECURE限制实现任意应用截图 [特殊字符]
  • EurekaClaw:本地优先的多智能体AI研究助手,自动化文献到论文全流程
  • 【社工】初级社会工作者历年真题及答案解析PDF电子版(2010-2025年)
  • ggplot2绘图实战:处理你的‘非正态’数据——从iris数据集学不依赖参数检验的可视化与显著性分析
  • RyzenAdj:3步解锁AMD笔记本隐藏性能的终极免费方案
  • 宇宙的膨胀和银河系边缘的跑马场效应
  • Python卫星遥感AI解译落地难?中科院空天院2023年度TOP3失败案例深度复盘(含原始影像、标注偏差分析与重训练策略)
  • 避开Verilog UDP的5个常见坑:从语法陷阱到仿真结果异常
  • AtlasPatch技术解析:高效处理WSI图像的AI预处理方案
  • YgoMaster:重新定义离线游戏王体验的开源革命
  • 别再复制粘贴了!Windows 11/10 安装 TensorRT 8.5 保姆级避坑指南(含CUDA版本匹配)