调查 Git 仓库中的更改
在 CLion,您可以追踪项目中的所有更改。 这帮助您 找到任何更改的作者 ,查看 文件版本或提交之间的差异,并在必要时 安全地回溯和撤销更改。
查看项目历史
您可以查看与指定过滤器匹配的项目源代码的所有更改。 要查看项目历史记录,请打开 日志 工具窗口的 Git 选项卡 Alt+9。 它显示了提交到所有分支和远程仓库的所有更改:

在多库项目中,左侧的彩色条纹表明所选的 commit 属于哪个根目录(每个根目录都有自己的颜色标记)。 将鼠标悬停在彩色条纹上以调用显示根路径的提示:

浏览和搜索项目历史记录
通过输入完整的提交名称、消息或其片段、修订号或正则表达式来搜索提交列表。
按分支或 收藏分支 、用户、日期和文件夹(或多根项目的根和文件夹)筛选提交记录。
点击工具栏上的 转到哈希/分支/标签
图标或按 Ctrl+F 并指定一个提交哈希值、 标签或分支的名称到您想要跳转的位置(您将被带到该分支中的最新提交处)。
点击箭头跳转到长分支中的下一个提交:

按 Left 和 Right 键跳转到父提交/子提交。 如果您在不同的存储库和多个分支中都有提交,并且它们都混合在 日志 选项卡的 Git 工具窗口中,这尤其有用 Alt+9。
有关 Git 工具窗口 Alt+9日志 选项卡的更多信息,请参阅 日志选项卡。
查看项目在特定修订版的快照
CLion 允许您在选定的修订版中查看项目的状态。
打开 Git 工具窗口 Alt+9 并切换到 日志 选项卡。
选择一个 commit,并从上下文菜单中选择 在修订中显示存储库。
存储库 工具窗口将打开,包含选定版本下项目的快照。
查看两个提交之间的差异
CLion 允许您检查两次提交之间哪些文件被修改,而不必浏览两次提交之间每一次提交中的更改。
在 日志 工具窗口 Git 选项卡中选择任意两个提交,并从上下文菜单中选择 Alt+9比较版本。
更改 工具窗口打开,显示选择的提交之间修改的文件列表。 您可以通过点击
显示差异 或按 Ctrl+D 查看任何文件的差异。
查看文件历史
您可以查看对特定文件所做的所有更改,并找出每次修订中到底修改了什么。
在任何视图中选择所需的文件(如 Project 工具窗口 Alt+1 、编辑器、 提交 窗口等)。
从主菜单选择 Git | 选定文件 | 显示历史 或从所选内容的上下文菜单选择 Git | 显示历史。 历史记录 选项卡将添加到 Git 工具窗口中,显示所选文件的历史记录,并允许您查看和比较其修订版本。
要识别在特定修订版中引入的更改,请在列表中选择它。 在面板的右侧会立即显示差异。
要在专用的 Diff 查看器中查看整个文件的差异,请在列表中选择它并按 Ctrl+D 或点击工具栏上的
显示差异。 差异查看器 将打开,以显示此修订版本中的更改内容。
您可以使用工具栏按钮与本地版本比较所选的修订版、比较所选修订版的类、签出所选修订版、注释所选修订版等:
项目 | 工具提示和快捷键 | 描述 |
|---|---|---|
分支 | 分支筛选器 | 点击 分支 并选择一个分支以查看此分支内文件所做的更改。 |
刷新 | 点击此按钮以刷新当前信息。 | |
显示差异 Ctrl+D | 点击此按钮,在 差异查看器中将所选文件的修订版本与其以前的修订版本进行比较。 | |
显示所有受影响的文件 Alt+Shift+A | 点击此按钮以打开 受修订影响的路径 对话框,您可以在其中查看所选修订中修改的所有文件。 | |
查看选项 | 点击以选择您希望在 历史记录 视图中看到的信息量。 您还可以选择 显示提交时间戳 选项,如果您希望 CLion 显示提交时间戳,而不是变更创作时间。 此外,选择您想要查看的信息类型:
| |
在 GitHub 上打开 | 点击此按钮以打开与选定提交对应的 GitHub 页面。 | |
在 GitLab 上打开 | 点击此按钮以打开与所选提交对应的 GitLab 页面。 | |
启用 Git 日志索引 | 点击此按钮,以改善在整个 IDE 中处理更改历史记录的工作流程。索引项目存储库可实现以下功能: 对项目仓库进行索引允许:
若要禁用此选项,请前往 。 | |
| 重命名列 | 点击此列以展开并查看文件重命名的历史记录。将鼠标悬停在该列上可查看文件路径中的更改。 将鼠标悬停在列上,以查看文件路径的更改。 |
查看选定内容的历史记录
在编辑器中,选择所需的源代码片段或将文本光标放在相应的行。
选择 Git | 当前文件 | 显示所选内容的历史记录 从主菜单或 Git | 显示所选内容的历史 从选定内容的上下文菜单。
所选片段的历史记录将在单独的窗口中打开。 如果未选中任何内容,则会显示当前行的历史记录。
目录的历史记录审核
除了查看整个项目或特定文件的历史记录外,您还可以检查特定文件夹中的更改。
在 Project 工具窗口 Alt+1 中选择一个或多个目录,并从上下文菜单中选择 。
一个新选项卡将添加到 Git 工具窗口 Alt+9 中,显示按所选文件夹筛选的提交。
审查本地和已提交文件版本之间的差异
您可以检查已提交的文件修订版本与其本地版本的区别:
打开 Git 工具窗口 Alt+9 并切换到 日志 选项卡。
选择您感兴趣的提交,然后在右侧窗格中选择文件。
请点击工具栏上的
按钮。
查看更改是如何合并的
CLion 允许您查看更改如何 从一个分支合并到另一个分支 ,以及在合并过程中(如有)冲突是如何 解决的:
定位代码作者(使用 Git Blame 注释)
您可以使用 VCS annotations (对应 git-blame )来了解谁对文件进行了哪些更改。 注释视图显示每行代码的详细信息:

当前版本中修改行的注释用粗体和星号标记。
默认情况下,不同的提交会用不同的颜色突出显示(请参阅 配置注释中显示的信息量)。
从注释视图,您可以跳转到:
在 日志 工具窗口 Git 选项卡 Alt+9 中的相应提交:点击注释或将鼠标悬停在其上,然后点击弹出窗口中的提交哈希以查看详细信息。

在注解上悬停查看行间差异。 IDE 会突出显示该行以及来自相应提交的更改。
相应的 commit 在 https://github.com :使用 在 GitHub 上打开 上下文菜单选项。
如果启用 问题导航 :悬停在注释上,然后点击提交消息中包含的问题链接
启用注解
配置注释中显示的信息量
您可以选择在注释视图中查看多少信息。
右键点击注释边栏,选择 视图 并选择您要查看的信息类型,包括此更改的起始修订版本、日期、不同格式的作者名称和提交编号。
您还可以在 颜色 下设置高亮。
配置注解选项
右键点击注释区域,并从上下文菜单中选择 选项:
忽略空白字符 :空格会被忽略(git
blame -w)。 这意味着注解将指向之前有意义的提交。检测文件内的移动 :当提交在同一文件中移动或复制行时,此更改将被忽略(git
blame -M)。 这意味着注解将指向之前有意义的提交。检测跨文件的移动 :当一次提交中移动或复制了其他文件中的行且这些文件在同一次提交中被修改时,这些更改将被忽略(git
blame -C)。 这意味着注解将指向之前有意义的提交。显示提交时间戳 :如果您希望 CLion 在 注释 视图中显示提交时间戳而不是变更的创作时间,请选择此选项。
自定义日期格式
按下 Ctrl+Alt+S 以打开设置,然后选择 。
点击 日期时间模式 字段旁的 VCS注解 并指定您想要用于 VCS 注释的日期格式。 参见 patterns reference。
注释上一版本
CLion 不仅允许您注释当前文件修订,还可以注释其先前的修订。 从注释边框的上下文菜单中可以使用以下选项:
注释修订 :此选项在您想查看文件在某个特定更改提交后的样子时非常有用。 为此,请右键点击此更改,然后从上下文菜单中选择 注释修订。
注释先前的修订版 :如果您发现自己处于某种情况下特定行的最后一次更改毫无意义,例如,所有更改只是代码格式,这个选项很有用。 在这种情况下,您可以查看文件的前一个修订版是什么样的。 要执行此操作,请右键点击更改并从上下文菜单中选择 注释先前的修订版。
隐藏修订 :此选项用于避免看到不相关或管理性的更改。 这些通常是由低级迁移或格式化操作引入的。 当这些更改影响整个根目录时,它们会在 注释 对话框中制造混乱,因此建议从视图和“注释”列中排除这些更改。 隐藏修订 操作允许您从注释结果中排除某个修订,并在编辑器和边栏中显示结果。 排除的修订可以通过相反的操作恢复 还原隐藏的修订版本。 有关隐藏修订的信息会显示在编辑器顶部的通知面板中。 也可以通过点击通知面板中的相应链接来恢复隐藏的修订。
您还可以从 历史记录 视图注释特定文件。 在 历史记录 选项卡中,选择您想要查看的文件版本,右键点击相应的行,然后从上下文菜单中选择 注释。
观看此视频,了解如何从使用注解中获益:
