PyCharm 2025.3 Help

调查 Git 存储库中的更改

在 PyCharm 中,您可以追溯项目中的所有更改。 这有助于您 定位任何更改的作者 ,查看 文件版本 或提交之间的差异,并在必要时 安全地回滚并撤销 更改。

查看项目历史记录

您可以查看与指定筛选器匹配的项目源中所做的所有更改。 要查看项目历史记录,请打开 日志 选项卡(Git 工具窗口 Alt+9)。 其中显示提交到所有分支和远程存储库的所有更改:

日志视图

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

根路径
  • 通过输入完整的提交名称或消息或其片段、修订号或正则表达式,在提交列表中进行搜索。

  • 按分支或 收藏的分支 、用户、日期和文件夹筛选提交(对于多根项目,则按根和文件夹筛选)。

  • 点击工具栏上的 转到哈希/分支/标签 转到 图标或按 Ctrl+F ,并指定要跳转到的提交哈希、 标签 或分支名称(将跳转到该分支的最新提交)。

  • 点击箭头可在长分支中跳转到下一个提交:

    跳转到下一个提交
  • LeftRight 键可跳转到父/子提交。 如果您在不同存储库和多个分支上都有提交,并且它们都混在 Git 工具窗口 Alt+9日志 选项卡中时,这将特别有用。

有关 Git 工具窗口 Alt+9日志 选项卡的详细信息,请参阅 日志选项卡

查看项目在特定修订版本时的快照

PyCharm 允许您查看项目在所选修订版本中的状态。

  1. 打开 Git 工具窗口 Alt+9 ,并切换到 日志 选项卡。

  2. 选择一个提交,并在上下文菜单中选择 在修订处显示存储库

存储库 工具窗口将打开,其中包含所选修订版本时项目的快照。

查看两个提交之间的差异

PyCharm 允许您检查两个提交之间哪些文件被修改,而无需浏览中间每个提交中的更改。

  • Git 工具窗口 Alt+9日志 选项卡中选择任意两个提交,并在上下文菜单中选择 比较版本

    将打开 更改 工具窗口,其中列出了所选提交之间被修改的文件。 您可以通过点击 显示差异图标显示差异 或按 Ctrl+D 来查看任意文件的差异。

查看文件历史记录

您可以查看对特定文件所做的所有更改,并找出每个修订版本中的具体修改内容。

  1. 在任意视图中选择所需文件(项目 工具窗口 Alt+1 、编辑器、 提交 窗口等)。

  2. 从主菜单中选择 Git | 所选文件 | 显示历史记录 ,或在所选内容的上下文菜单中选择 Git | 显示历史记录历史记录 选项卡将添加到 Git 工具窗口中,显示所选文件的历史记录,并允许您查看和比较其修订版本。

  3. 要确定特定修订版本中引入了哪些更改,请在列表中选择该修订版本。 面板右侧会立即显示差异。

  4. 要在专用的 Diff 查看器中查看整个文件的差异,请在列表中选择它并按 Ctrl+D ,或点击工具栏上的 显示差异图标显示差异Diff 查看器 将打开,显示此修订版本中的更改。

您可以使用工具栏按钮将所选修订版本与本地版本进行比较、比较所选修订版本中的类、检出所选修订版本、注解所选修订版本等:

项目

工具提示和快捷键

说明

分支

分支筛选器

点击 分支 并选择一个分支,以查看在该分支内对文件所做的更改。

刷新按钮

刷新

点击此按钮以刷新当前信息。

显示差异图标

显示差异

Ctrl+D

点击此按钮,可在 Diff 查看器 中将文件所选修订版本与其上一修订版本进行比较。

显示所有受影响的文件按钮

显示所有受影响的文件

Alt+Shift+A

点击此按钮以打开 修订中受影响的路径 对话框,在其中可以查看所选修订版本中被修改的所有文件。

眼睛图标

查看选项

点击以选择您希望在 历史记录 视图中看到的信息量。 如果希望 PyCharm 显示提交时间戳而不是更改的作者时间,您还可以选择 显示提交时间戳 选项。

此外,选择您希望查看的信息类型:

  • 显示详细信息 以显示所选修订版本的提交消息。

  • 显示差异预览 以打开所选修订版本的差异预览。

在 GitHub 上打开按钮

在 GitHub 上打开

点击此按钮以在 GitHub 上打开与所选提交对应的页面。

在 GitLab 上打开

点击此按钮以在 GitLab 上打开与所选提交对应的页面。

继续按钮

启用 Git 日志索引

点击此按钮可改进在整个 IDE 中处理更改历史。 为项目存储库建立索引可以:

  • 快速筛选日志,并计算精确的历史记录。

  • 在文件历史记录中显示所有分支。

  • 在 Search Everywhere 中跨历史记录进行搜索。

要禁用此选项,请转到 设置 | 版本控制 | 确认 | 日志

重命名

重命名列

点击此列以展开它,并查看该文件的重命名历史记录。 将鼠标悬停在该列上即可查看文件路径的更改。

查看所选内容的历史记录

  1. 在编辑器中,选择所需的源代码片段,或将插入符号置于相应的行上。

  2. 从主菜单中选择 Git | 当前文件 | 显示所选内容的历史记录 ,或在所选内容的上下文菜单中选择 Git | 显示所选内容的历史记录

所选片段的历史记录将会在单独的窗口中打开。 如果未选择任何内容,将显示当前行的历史记录。

查看目录的历史记录

除了查看整个项目或特定文件的历史记录之外,您还可以检查在特定文件夹中所做的更改。

  1. 项目 工具窗口 Alt+1 中选择一个或多个目录,并在上下文菜单中选择 Git | 显示历史记录

  2. 将在 Git 工具窗口 Alt+9 中添加一个新选项卡,显示按所选文件夹筛选的提交。

查看本地版本与已提交的文件版本之间的差异

您可以检查已提交的文件修订与其本地版本之间的不同之处:

  1. 打开 Git 工具窗口 Alt+9 ,并切换到 日志 选项卡。

  2. 选择您感兴趣的提交,并在右侧窗格中选择该文件。

  3. 点击工具栏上的 显示差异图标 按钮。

查看更改是如何合并的

PyCharm 允许您查看更改是如何 从一个分支合并到另一个分支的,以及在合并过程中(如有)如何 解决冲突:

  • Git 工具窗口 Alt+9日志 选项卡中,选择您感兴趣的合并提交。

    • 如果在合并期间未检测到并解决冲突,PyCharm 将在 已更改的文件 窗格中显示相应的消息,并建议您查看来自两个父提交的更改:

      来自父提交的更改

      从其中一个节点中选择所需文件,然后点击工具栏上的 显示差异图标显示差异 ,或按 Ctrl+DDiff 查看器 将显示双面板差异,允许您将当前版本与所选父提交进行比较。

    • 如果在合并期间发生冲突, 已更改的文件 窗格将显示带有冲突的已合并文件列表。

      选择所需文件,然后点击工具栏上的 显示差异图标显示差异 ,或按 Ctrl+DDiff 查看器 将显示三面板差异,允许您将当前版本与各个父提交进行比较,并查看冲突是如何精确地解决的。

定位代码作者(使用 Git Blame 进行注解)

您可以使用 VCS 注解 (对应 git-blame )来确定是谁向文件引入了哪些更改。 注解视图会显示每一行代码的详细信息:

注解

当前修订版本中被修改的行的注解会以粗体和星号标记。

默认情况下,不同的提交会以不同的颜色高亮显示(请参阅 配置注解中显示的信息量)。

在注解视图中,您可以跳转到:

  • Git 工具窗口 Alt+9日志 选项卡中的相应提交:点击注解或将鼠标悬停其上,然后在包含详细信息的弹出窗口中点击提交哈希。

    包含提交详细信息的弹出窗口
  • 行差异:将鼠标悬停在注解上。 IDE 将高亮显示该行以及来自相应提交的更改。

    行差异
  • https://github.com 上的相应提交:使用 在 GitHub 上打开 上下文菜单选项。

  • 如果启用了 问题导航 ,则可以在您的问题跟踪系统中打开相关问题:将鼠标悬停在注解上,如果提交消息中包含问题链接,则点击该链接。

启用注解

  • 在编辑器或 Diff 查看器 中右键点击装订区域,并从上下文菜单中选择 使用 Git Blame 注解

    您可以为 注解 命令分配自定义快捷键:转到 键位映射 设置页面  Ctrl+Alt+S 并查找 版本控制系统 | Git | 注解

    要关闭注解,请在编辑器或 Diff 查看器 中右键点击装订区域,并从上下文菜单中选择 关闭注解

配置注解中显示的信息量

您可以选择在注解视图中查看的信息量。

  • 右键点击注解装订区域,选择 视图 ,并选择您希望查看的信息类型,包括此更改的起始修订版本、日期、作者姓名的不同格式以及提交编号。

    您还可以在 颜色 下设置高亮显示。

配置注解选项

  • 右键点击注解装订区域,并从上下文菜单中选择 选项

    • 忽略空白字符 :将忽略空白字符(git blame -w)。 这意味着注解将指向上一个有意义的提交。

    • 检测文件内的移动 :当一个提交在同一文件内移动或复制行时,将忽略此类更改(git blame -M)。 这意味着注解将指向上一个有意义的提交。

    • 检测跨文件的移动 :当一个提交从同一提交中修改过的其他文件移动或复制行时,将忽略此类更改(git blame -C)。 这意味着注解将指向上一个有意义的提交。

    • 显示提交时间戳 :如果希望 PyCharm 在 注解 视图中显示提交时间戳,而不是更改的作者时间,请选择此选项。

自定义日期格式

  1. Ctrl+Alt+S 打开设置,然后选择 外观 & 行为 | 系统设置 | 日期格式

  2. 点击位于 VCS 注解 旁边的 日期时间模式 字段,并指定您希望用于 VCS 注解的日期格式。 请参阅 模式参考

在编辑器中显示更改的作者

您可以配置编辑器,在 内嵌提示 中显示元素(方法或类)最后一次更改的作者。 要启用它们:

  1. Ctrl+Alt+S 打开设置,然后选择 编辑器 | 内联提示 | 代码视野

  2. 选择 代码作者 选项。

  3. 选择作者姓名的显示位置:

    • 行顶部(默认)

      Code vision 内嵌提示 顶部
    • 右侧

      Code vision 内嵌提示 右侧

启用此选项后,您可以在编辑器中点击作者姓名提示以打开注解视图。

隐藏更改的作者

要在编辑器中隐藏代码作者姓名,请执行以下任一操作:

  • 打开 编辑器 | 内联提示 | 代码视野 设置页面  Ctrl+Alt+S ,并禁用 代码作者 选项。

  • 在编辑器中右键点击作者姓名提示,然后选择 隐藏 `Code Vision: Code author` 内联提示

    隐藏代码作者姓名

注解先前的修订

PyCharm 允许您不仅注解当前文件修订,还可注解其先前的修订。 注解装订区域的上下文菜单提供以下选项:

  • 注解修订 :如果您想查看在提交某项特定更改之后文件的状态,此选项很有用。 为此,请右键点击此更改,并从上下文菜单中选择 注解修订

  • 注解上一个修订 :当某一行的最后一次更改没有意义时(例如仅更改了代码格式),此选项很有用。 在这种情况下,您可以查看该文件的上一修订版本的状态。 为此,请右键点击某个更改,并从上下文菜单中选择 注解上一个修订

  • 隐藏修订 :此选项有助于避免看到不相关或管理性质的更改。 这类更改通常由底层迁移或格式化操作引入。 当这些更改影响整个根时,会使 注解 对话框变得杂乱,因此最好将这些更改同时从视图以及 ‘annotate’ 列中排除。 隐藏修订 操作允许您就地将某个修订从注解结果中排除,并在编辑器和装订区域中显示结果。 可通过相反的操作 恢复已隐藏的修订 恢复被排除的修订。 有关隐藏修订的信息会显示在编辑器顶部的通知面板中。 您还可以点击通知面板中的相应链接来恢复隐藏的修订。

您还可以在 历史记录 视图中注解特定文件。 在 历史记录 选项卡中,选择您要查看的文件版本,右键点击相应的行,并从上下文菜单中选择 注解

观看此视频,了解如何更好地利用注解:

最后修改日期: 2025年 12月 2日