TortoiseGit 入门指南04:查看提交日志

2023-10-27

如果每次提交都按照规定格式书写提交信息,这样一来就可以使用日志功能来查看开发过程,找出所做的更改以及更改原因。

在仓库中右击鼠标 - 选择 TortoiseGit - Show log 打开日志对话框:

在这里插入图片描述

默认日志对话框仅列出所选文件或目录及其子目录文件。如果要列出项目的所有文件,左下角有Show whole Project选项,选中则显示整个工程的提交日志。

日志对话框分为三个窗口:

  • 顶部窗口显示历史提交列表摘要,包括简要提交消息、作者、提交时间等。粗体显示的行指示HEAD提交,第一行的Working tree changes是一个虚拟条目,代表当前工作树的状态(可能有未提交)。
  • 中间窗口显示完整的提交消息
  • 底部窗口显示本次提交所有变更的文件

这三个窗口都有自己的右键菜单,用于更多功能操作,下面详细描述这三个窗口的内容和功能。

1 顶部窗口

图示区域为顶部窗口。
在这里插入图片描述

1.1 操作图标

顶部窗口有一列 Actions,可以以图标的形式概述本次提交做了哪些操作。

  • 在这里插入图片描述:表示本次提交修改了文件或文件夹,显示在第一列。
  • 在这里插入图片描述:表示本次提交新增了文件或文件夹,显示在第二列。
  • 在这里插入图片描述:表示本次提交删除了文件或文件夹,显示在第三列。
  • 在这里插入图片描述:表示本地提交重命名(替换)了文件,显示在第四列。

1.2 提交图

顶部窗口有一列 Graph ,以图形的方式显示提交、合并和分支情况。对于每一次提交:

  • 圆圈表示没有任何分支的正常提交
  • 正方形表示合并和分支。

1.3 提交消息

顶部窗口有一列 Message ,简要的显示提交信息。
在这里插入图片描述

  • 信息前面可能有装饰块
  • 标签默认装饰块为黄色矩形,如果标签带注释,则黄色矩形右侧有个顶点
  • 普通分支的装饰块为矩形,暗红色矩形表示活动分支、绿色矩形表示本地分支、桃红色矩形表示远程分支
  • 带有圆角矩形的本地分支装饰块表示该分支为远程跟踪分支

1.4 右键菜单 - 选中一个提交

在这里插入图片描述

  • Compare with working tree:与工作树比较。将所选提交版本与当前工作区比较。
  • Show changes as unified diff:以统一差异(unified diff)方式显示更改。
  • Compare with previous revision:将所选提交版本与上一个提交版本(倒数第二个提交)进行比较。
  • Browse repository:浏览代码仓库。该功能可以方便的浏览历史提交版本而不必切换到该版本。
  • Reset (current branch) to this...:将HEAD重置为选定的提交版本。这可以实现回退到某个提交版本(工作区内容也会跟着变为该提交的)。
  • Switch / Checkout to this...:将当前工作树更新为选定的提交版本,比如你想查看之前的版本内容或者对仓库进一步提交。
  • Create branch at this version...:从选定提交版本中创建分支
  • Create tag at this version...:从选定提交版本中创建标签
  • Rebase (current branch) on to this:将当前分支变基到选定的提交版本。
  • Export this version...:将选中的提交版本导出。
  • Revert change by this commit:将选中的提交版本的所有更改还原到工作区。
  • Edit notes:编辑所选提交的注释,经测试发现是在现有提交消息后面增加写入的注释。
  • Cherry Pick this commit:将选中的提交应用于其它分支,这里是HEAD指向的分支。
  • Bisect start:通过二分法搜索查找引入错误的更改。
  • Format Patch...:为选中的提交创建补丁

1.5 右键菜单 - 选中两个提交

如果您一次选择两个修订版(使用通常的Ctrl 键),则上下文菜单会更改并为您提供更少的选项,其中一些为:

  • Combine to one commit:将连续两个提交合并为1个提交。

2 底部窗口

图示为一个底部窗口。
在这里插入图片描述

2.1 右键菜单

在这里插入图片描述

  • Compare with base:与基础版本比较(与最近一次提交做对比),双击该文件也能实现相同效果。

    如何理解base?

    在提交a的基础上,我们修改内容,然后提交形成提交b,那么提交a就是提交b的基础版本。

    所以与基础版本比较,实际上就是与所选文件的上一个提交版本比较。

  • Show as unified diff:以统一差异(unified diff)方式显示更改。Unified diff格式详见文件和目录状态一节。

  • Compare with working tree:与当前工作树比较

  • Revert changes to this revision:将选中的文件还原到此版本

  • Revert changes to parent revision:将选中的文件还原到父版本。

    如何理解父版本?

    有分支才有父版本概念。某个分支中,在提交a的基础上,我们修改内容,然后提交形成提交b,那么提交a就是提交b的父版本。当两个分支合并后,提交a和提交b之间可能还有很多提交。

    在这里插入图片描述

    图中1号提交的父版本是2号提交,3号提交的父版本是4号提交。

  • Blame...:将打开TortoiseGitBlame程序,显示文件的每一行的作者、最后修改的版本和其它信息。

  • Save revision to...:将选中的当前版本文件另存到指定位置,文件命名为:[原文件名]-[SHA-1的前8个字符].后缀

  • Export selection to...:将选中的当前版本文件导出到指定位置,文件名与原来相同并保留目录结构。

  • View revision in alternative editor:用替代的编辑器(默认notepad2)打开选中的文件

  • Open:使用系统默认编辑器打开选中文件

  • Open with...:将弹出打开方式对话框,自己选择应用程序打开选中的文件

  • Explore to:打开文件所在目录

3 日志消息过滤器

图示为消息过滤器(在日志对话框顶部)
在这里插入图片描述

如果有数百个提交,查看感兴趣的提交可能需要日志消息过滤器。

  • 日志消息对话框左上角有分支过滤器(图中“master”区域),单击分支过滤器打开引用浏览器。在那里可以选择单个或多个引用。如果恰好选择了两个引用,还可以选择组合显示的方式:A和B都显示(“A B”)、A和B之间的差异(“A…B”)、A和B之间的提交(“A…B”)。过滤器具有右键菜单,有一些常用引用的快捷方式,比如所有分支、master分支等。

    注:引用(Refs)是指本地分支远程分支标签等。

  • 开始日期和结束日期可以选择指定日期范围内的提交。

  • 搜索框可以像使用搜索引擎一样搜索指定字符串,单击搜索图标可以选择搜索的信息源。

    搜索语法为:

    • 空格表示两者均包含,比如 a b表示搜索包含a和b的字符串
    • -号表示排除,比如a b -c表示搜索包含a和b且不包含c的字符串
    • +号表示或,比如a +b表示搜索包含a或者b的字符串
    • !号表示取反,比如!a b表示搜索不包含a和b的字符串
    • 双引号包含的字符串表示精确搜索指定的字符串,比如“a b”表示搜索包含a b的字符串

还可以使用 Filter paths (在日志对话框底部)过滤底部窗口显示的文件,语法与消息搜索语法类似。
在这里插入图片描述








读后有收获,资助博主养娃 - 千金难买知识,但可以买好多奶粉 (〃‘▽’〃)
千金难买知识,但可以买好多奶粉

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TortoiseGit 入门指南04:查看提交日志 的相关文章

  • 拉取请求是 Git 的一部分,还是 GitHub、Gerrit 和 Atlassian Stash 等工具的功能?

    Pull 请求似乎是使用 Git 进行代码审查的常用方法 然而 尚不清楚该术语在使用内置函数时是否具有相同的含义 git request pull 或不同的工具 Pull 请求是 Git 的固有功能 还是 GitHub Gerrit 或 A
  • 删除 git 子模块 - 如何在拉取时自动删除?

    我读了如何自己删除 git 子模块 https stackoverflow com questions 1260748 how do i remove a git submodule Delete the relevant section
  • 如何从 TFS 获取类似 git 的统计信息

    我已经与 TFS 合作几个月了 希望获得一些基本统计数据并将其提供给我们的团队 在 git 中 我可以检索有关 按作者提交 和 按日期提交 等的统计信息 我想显示来自 TFS 或来自 TeamCity 的类似统计数据 这可能吗 我发现研究
  • 使用两个帐户推送到 Git

    我跟着这个tuotrial http code tutsplus com tutorials how to work with github and multiple accounts net 22574关于如何在同一台计算机上拥有两个单独
  • php run git 收到“ssh 权限被拒绝”

    我正在尝试从浏览器中运行 git pull php 脚本 但我得到了 sh 连接到主机 git assembla com 端口 22 权限被拒绝 我的 PHP 脚本
  • git-svn SVN 作者文件的相对路径?

    我已经使用 git svn 从工作中克隆了一个 SVN 存储库 在最初的克隆过程中 我提供了一个 SVN 作者文件 当我进行初始克隆时 git 设置了authorsfile作为绝对路径 但是 我在工作机器和笔记本电脑上保留了这个 git 存
  • 您对版本控制进行到什么程度了? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 致命:早期 EOF 致命:索引包失败

    我用谷歌搜索并找到了很多解决方案 但没有一个适合我 我试图通过连接到 LAN 网络中的远程服务器来从一台计算机进行克隆 从另一台机器运行此命令会导致错误 但是在服务器上使用 git 192 168 8 5 运行相同的克隆命令 一切正常并且成
  • .gitignore 文件夹内容[重复]

    这个问题在这里已经有答案了 可能的重复 在 Windows 上忽略 Git 存储库中的目录 https stackoverflow com questions 343646 ignoring directories in git repos
  • 尽管有 svn 复制,如何 git svn 克隆完整历史记录

    在我的公司 我们即将从 svn 切换到 git 我们使用的 SVN 非常大 没有 svn 布局 并且在每个版本拆分上我们都制作了一个 svn 副本 SVN存储库结构 svnserver company de product xy 主要版本号
  • 如何避免开发人员将凭证推送到 bitbucket?

    我们有一个应用程序 它使用 JSON 文件来定义数据库和其他 API 的连接字符串和凭据 理想情况下 这些凭证作为变量添加到 bitbucket 存储库中 并在 Jenkins 的构建期间进行替换 开发商在当地与他们合作时更换了他们 我们需
  • 使用 Subversion 进行部分提交

    鉴于我做的案例两个独立的变化 in one文件 例如 添加了一个新方法并更改了另一个方法 我经常不想提交这两项更改 因为one提交 但作为two独立承诺 在 git 存储库上我会使用互动模式 of git 添加 1 http linux d
  • 使用 TortoiseGit 创建 git 克隆时出现 SSL 证书问题

    我想在 TortoiseGit 的帮助下克隆 git 存储库 但出现错误 错误 SSL 证书有问题 请验证 CA 证书是否正常 细节 错误 14090086 SSL 例程 SSL3 GET SERVER CERTIFICATE 访问时证书验
  • 如何标记单个文件?或如何下载特定文件? - 胃肠道

    我想向文件添加标签以轻松下载该文件而不是整个分支 如何下载GIT中的特定文件 我不知道有什么方法可以标记特定文件git 对于第二个问题 如何下载特定文件git 仅当您的意思是 同时下载 时 以下内容才有效in a git存储库 这就是我理解
  • Git 在推送代码时返回错误 403 [重复]

    这个问题在这里已经有答案了 一切都工作正常 直到我创建了一个新的 GitHub 帐户 当我尝试使用新帐户第一次将代码推送到 github 服务器时 出现以下错误 remote Permission to NEW USER NEW REPO
  • hg 或 git 中的两个完整目录/项目之间存在差异?

    我继承了一个最初存储在 CVS 中的项目以及所有修订 我做了相当多的编辑 并且我试图比较我在原始目录中所做的所有更改 关于添加的新文件与旧文件 hg git 是否有某种实用程序可以让我进行树差异或类似性质的操作 也就是说 新添加的文件 删除
  • Git 中的合并冲突是由什么构成的?

    git 如何确定特定合并存在冲突以及冲突是什么 我的猜测是这样的 如果正在合并的两个提交有一个共同的父提交 并且如果它们都更改了父提交的 X 行 那就是冲突 让我的理解变得复杂的是 更改 X 行 可能意味着用几行新行替换它 但这仍然显示为一
  • 如何将普通的 Git 存储库转换为裸存储库?

    如何将 普通 Git 存储库转换为裸存储库 主要区别似乎是 在普通的 Git 存储库中 你有一个 git存储库内的文件夹 包含构成工作副本的所有相关数据和所有其他文件 在裸露的 Git 存储库中 没有工作副本和文件夹 我们称之为repo g
  • RuntimeError:模型类 django_messages.models.Message 未声明显式 app_label 并且不在 INSTALLED_APPS 中的应用程序中

    我正在尝试使用https github com arneb django messages https github com arneb django messages打包我的消息传递内容并尝试了以下操作 pip install git h
  • git Branch -d :致命 - 无法查找 HEAD 的提交对象

    假设我在一个裸存储库 远程 中 如果我尝试使用以下命令删除分支git branch d

随机推荐

  • MATLAB读写.wav和.raw音频文件

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 wav文件格式 二 matlab代码 1 fread读 wav文件 2 fread读 raw音频文件 3 wav转raw 3 raw转wav 5 更改音频
  • String,StringBuffer,StringBuilder三者之间的联系和区别

    一 String 和 StringBuffer StringBuilder 相同点 String StringBuffer StringBuilder都是可以用来存储字符串的 不同点 1 String存储的字符串是不可变的 StringBu
  • 编译原理课设-设计一个词法分析器

    设计课设时时间紧凑 难免有些错误 文末还有完整的word可以直接下载使用 也可以直接私信我发你 文章目录 摘要 二 设计内容 一 目的 二 整体框架 三 设计类 四 项目技术 1 守卫锁lock guard C 11 2 正则表达式 C 1
  • MVC 服务端Api接口的开发

    总结上一个项目的服务器API开发的流程 附带源码下载 实现效果 存储客户端上传的订单数据到数据表 并展示到前端界面 共分为两个模块 此模块主要显示服务端如何存储数据 如何发送数据到前端界面 前后端建立的都是MVC项目 使用DTO模式传输数据
  • windows多用户远程登录工具 RDPWrap配置

    目录 准备 配置 完 准备 下载 在https github com stascorp rdpwrap releases tag v1 6 2下载RDPWrap v1 6 2 zip 下载后解压 配置 install bat右键管理员运行
  • (未解决)selenium.common.exceptions.NoSuchWindowException: Message: no such window

    执行代码如下 from selenium import webdriver from time import sleep if name main driver webdriver Chrome driver implicitly wait
  • 【1day】​万户协同办公平台 ezoffice未授权访问漏洞学习

    注 该文章来自作者日常学习笔记 请勿利用文章内的相关技术从事非法测试 如因此产生的一切不良后果与作者无关 目录
  • vue3中hooks的介绍及用法

    大家好 今天这篇文章是介绍一下vue3中的hooks以及它的用法 本文内容主要有以下两点 什么是hooks vue3中hooks的使用方法 一 什么是hooks hook是钩子的意思 看到 钩子 是不是就想到了钩子函数 事实上 hooks
  • 告别了夸克,我已经找到了比你更强大的浏览器

    老实说 夸克真的是一款非常不错的浏览器 但是随着更新这个app越来越臃肿 还搞起了付费网盘 很多人转身选择其他浏览器 以前也给大家推荐过Alook浏览器 X浏览器等 今天 再给大家推荐3款浏览器 比夸克更牛 更好用 不信就往下看吧 1 多御
  • 【论文精读】360MVSNet

    今天读的是发表在WACV2023上的MVS文章 该文章提出了基于全景相机的MVS pipeline 文章链接 点击前往 代码链接 暂未开源 文章目录 Abstract 1 Introduction 2 Related works 3 Met
  • day28 回溯

    93 复原IP地址 本质上是分割问题 判断一个分割的值是否有效 回溯需要去掉 78 子集 收集每个树的节点 90 子集II 收集每个树的节点 树层去重 package algor trainingcamp import java util
  • pycharm中的 opencv-python 没有函数提示的解决方案

    pycharm中用 pip install opencv python 安装的cv2可能没有函数提示功能 ctrl 鼠标左键 也不会进入源代码 解决方案如下 1 找到cv2对应python编译器的安装路径 pycharm左下角 将鼠标放在编
  • 什么是页缓存(Page Cache)(转载)

    我们知道文件一般存放在硬盘 机械硬盘或固态硬盘 中 CPU 并不能直接访问硬盘中的数据 而是需要先将硬盘中的数据读入到内存中 然后才能被 CPU 访问 由于读写硬盘的速度比读写内存要慢很多 DDR4 内存读写速度是机械硬盘500倍 是固态硬
  • teamviewer 试用期到期以后怎么卸载然后安装使用

    1 1 退出TeamViewer远程软件 卸载软件 2 2 按键盘的 win R 组合键打开 运行 输入 appdata 3 3 在弹出的窗口中 找到并删除TeamViewer文件夹 4 4 按键盘的 win R 组合键打开 运行 输入 r
  • 降噪电路_TWS蓝牙耳机降噪要选对蓝牙晶振

    如今 越来越多的手机开始取消3 5mm耳机接口 转而采用USB C接口耳机或是无线蓝牙耳机 但消费者对音乐分辨率的要求却始终有增无减 一项调查显示 音质已成为消费者选择耳机或音箱产品时最看重的因素 76 的受访者为此投了赞成票 79 的受访
  • 启动指定用户docker

    有段时间没用docker了 都不记得怎么操作了 启动指定用户docker 方法如下
  • 目标检测正负样本区分和平衡策略总结

    目标检测正负样本区分策略和平衡策略总结 一 知乎0 简介本文抛弃网络具体结构 仅仅从正负样本区分和正负样本平衡策略进行分析 大体可以分为 正负样本定义 正负样本采样和平衡loss设计三个方面 主要是网络预测输出和loss核心设计即仅仅涉及网
  • Darknet下的Yolo v3

    一 网址 https github com AlexeyAB darknet 二 训练自己的数据 检测人头 1 经过1周训练的效果图 总体上效果还是很OK的 检测精度也比较高 2 数据准备 2 1 标注工具 标注工具在我的其他博客里有说明
  • STM32微控制器综合实训8 PWM输出实验

    实验8 PWM输出实验 用STM32的定时器来产生PWM呼吸灯 文章目录 代码讲解 main c timer c 编译仿真 第一次仿真 第二次仿真 第三次仿真 第四次仿真 遇到的错误 总结 代码讲解 main c int main void
  • TortoiseGit 入门指南04:查看提交日志

    如果每次提交都按照规定格式书写提交信息 这样一来就可以使用日志功能来查看开发过程 找出所做的更改以及更改原因 在仓库中右击鼠标 选择 TortoiseGit Show log 打开日志对话框 默认日志对话框仅列出所选文件或目录及其子目录文件