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

在仓库中右击鼠标 - 选择 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 (在日志对话框底部)过滤底部窗口显示的文件,语法与消息搜索语法类似。
在这里插入图片描述








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

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐