RubyMine 2026.1 Help

管理 Git 分支

在 Git 中, 分支 是一种强大的机制,允许您从主开发线分支出来,例如当您需要开发一个功能或冻结代码库的某个状态以进行发布等情况。

在 RubyMine 中,所有关于分支的操作都在 VCS 微件中执行。 要调用它,请在主窗口标题中点击当前签出的分支名称对应的微件:

Git 小部件

您还可以在 Branches paneGit 工具窗口中管理分支并执行多个分支的批量操作。

分支窗格

创建一个新分支

从当前分支创建一个新分支

  1. 在 VCS 微件中选择 新建分支 ,或在 分支 窗格的 Git 工具窗口中右键点击当前分支并选择 从“branch name”新建分支

  2. 在打开的对话框中,指定分支名称,并确保选中 签出分支 选项,如果您想切换到该分支。

    一旦您开始输入新分支的名称,RubyMine 将根据现有本地分支的名称建议相关前缀。

    新分支将从当前分支的 HEAD 开始。

从选中的分支创建新分支

  1. 在 VCS 微件或 分支 窗格的 Git 工具窗口中,选择您希望从中新建分支的本地或远程分支,然后选择 从选定处新建分支

  2. 在打开的对话框中,指定分支名称,并确保选中 签出分支 选项,如果您想切换到该分支。

从选中的提交创建新分支

  1. 日志视图中,选择您想要作为新分支起点的提交,然后从上下文菜单中选择 新建分支

    从日志选项卡中选定的提交创建新分支
  2. 在打开的对话框中,指定分支名称,并确保选中 签出分支 选项,如果您想切换到该分支。

重命名分支

  1. 在 VCS 微件或 分支 窗格的 Git 工具窗口中,选择要重命名的分支,并在上下文菜单中选择 重命名

  2. 在打开的对话框中,将分支名称更改为您需要的名称。

    请注意,此操作仅重命名本地分支。 如果您希望本地分支与远程跟踪分支具有相同的新名称,则需要创建一个新的远程分支并开始跟踪它。

  3. 要停止跟踪当前名称未更改的远程分支,请在同一 重命名分支 对话框中选择 取消设置上游分支 选项。

    下次推送更改时,将自动创建并开始跟踪新的远程分支。

    推送更改后,您可以 删除旧名称的远程分支。

标记分支为收藏

如果您有许多分支,您可能只想查看自己喜欢的那些。 默认情况下, main 分支被标记为最爱。 收藏分支始终显示在VCS微件顶部和 分支 窗格的 Git 工具窗口顶部。

  • 要将分支标记为收藏,在VCS微件中,将鼠标悬停于分支名称上,然后点击左侧出现的星形轮廓:

    最喜欢的分支

    或者,选择您想标记为喜爱的分支,然后按 空格

    您还可以在 分支 工具窗口的 Git 窗格中选择一个分支,然后单击工具栏上的 星形图标

分组分支

在VCS微件中,RubyMine 将分支和标签保存在四个节点中:

  • 最近 分支节点最多显示最近检出的五个分支。

  • 本地 分支节点列出所有本地分支。

  • 远程 节点显示最新 fetch后可用的所有远程分支。

  • 选项卡 节点列出所有可用的标签,您可以检出、与工作树比较、合并、推送或删除这些标签。

此外,RubyMine 会自动按前缀分组分支并将它们存储在可展开的列表中。

在VCS微件中按前缀分组分支。

为了将分支分组,分支名称中的前缀应使用正斜杠 / 分隔。 例如, jd/2023.1

要停止按前缀分组分支或隐藏 最近选项卡 节点,请点击 VCS 微件右上角的 齿轮图标设置 ,然后取消选择 按前缀分组显示最近的分支显示标签 选项。

VCS微件中的按前缀分组选项

查看分支 (git-checkout)

如果您想处理由他人创建的分支,您需要检出它以创建该分支的本地副本。

为确保您拥有完整的远程分支列表,请在VCS微件中点击 Fetch 图标

Fetch 图标

将分支检出为新的本地分支

  1. 在 VCS 微件或 分支 窗格的 Git 工具窗口中,选择您想要本地检出的分支,从 远程分支 选择,或者如果您的项目有多个根目录且启用了 同步分支控制 ,则从 常见远程分支 选择,若未启用则从 存储库 | 远程分支 选择。

  2. 请从操作列表中选择 检出

将创建一个新的本地分支,检出并设置为跟踪 origin 远程分支。

当您要检出一个远程分支时,可能已经有一个名称相同的本地分支。 根据具体情况,您可以通过以下方式完成结账流程:

  • 如果没有提交会丢失,并且本地分支已经跟踪远程分支,RubyMine 会自动将本地分支重置为远程分支,然后检出它。

  • 如果本地分支包含可以因重置而丢失的提交,RubyMine 将为您提供以下选项:

    • 删除本地提交 :RubyMine 将删除您的本地提交,重置本地分支,并更改跟踪。

    • 变基到远程 :RubyMine 将会将您的本地分支变基到远程分支,保留您的本地提交,重置本地分支,并更改跟踪。

在分支之间切换

在多任务处理时,您经常需要在分支之间跳转以提交不相关的更改。

  1. 在 VCS 微件或 分支 窗格的 Git 工具窗口中,在 本地分支 下选择您要切换到的分支,并在可用操作列表中选择 检出

    对于多库项目,分支会自动按库进行分组。 要签出所需的分支,请在VCS微件中先选择仓库。

  2. 接下来发生的事情取决于您本地尚未提交的更改与您将要检出分支之间是否存在冲突:

    • 如果您的工作树是干净的(也就是说您没有未提交的更改),或者您的本地更改与指定分支没有冲突,该分支将被签出(通知将会在 RubyMine 窗口的右下角弹出)。

    • 如果您的本地更改将被签出覆盖,RubyMine 会显示阻止您签出所选分支的文件列表,并建议在 Force CheckoutSmart Checkout之间进行选择。

      如果您点击 强制签出 ,您本地的未提交更改将被覆盖,您将失去它们。

      如果您点击 智能结账 ,RubyMine 将 搁置未提交的更改,检出所选分支,然后取消搁置更改。 如果在取消悬挂操作期间发生冲突,系统会提示您合并更改。 如需更多信息,请参阅 解决冲突

比较分支

将某个分支与当前分支进行比较

如果您想检查某个分支如何偏离当前分支,您可以比较它们。

  1. 在VCS微件或 分支 窗格的 Git 工具窗口中,选择您想要与当前分支比较的分支,然后选择 与当前比较

    将在 Git 工具窗口中添加一个新选项卡,列出在所选分支中存在而在当前分支中不存在的所有提交。

    您可以点击 交换分支 链接更改被视为基线的分支,与之比较其他分支。

  2. 要查看这两个分支中所有不同文件的列表,请按 Ctrl+A已更改文件窗格 将列出所有包含差异的文件。

将分支与工作树进行比较

除了将分支与当前分支进行比较外,您还可以将其与当前分支的本地状态进行比较。 如果您有本地未提交的更改,这会很有用。

  • 在VCS微件或 分支 窗格的 Git 工具窗口中,选择您想与本地工作区比较的分支,然后选择 显示与工作树的差异

    Changes 工具窗口显示了所选分支与当前检出的分支中不同的所有文件列表:

    显示所选分支与当前工作树之间的差异
    • 在选定分支中存在但在当前分支中缺失的文件将标记为灰色。

    • 当前分支中存在但在所选分支中缺失的文件将标记为绿色。

    • 选定分支与当前分支之间存在差异的文件将用蓝色标记。

    您可以点击 交换分支 链接更改被视为基线的分支,与之比较其他分支。

    • 要查看特定文件中的差异,请选择它并点击工具栏上的 diff icon ,或者按 Ctrl+D

    • 要将整个文件内容应用于当前分支,请点击 获取分支图标。 更多信息请参阅 应用独立文件

列出一个分支中不包含在另一个分支中的所有提交

您可以使用 两点符号表示法列出所选分支中不包含在其他分支中的所有提交。

例如,当某人处理一个功能分支并且不时将主分支合并到这个功能分支时,这会很有用。 使用此筛选器,您可以仅列出功能分支中的提交,而不列出主分支中的提交。

  1. 打开 Git 工具窗口 Alt+9

  2. 提交窗格中,请前往 分支 | 选择

    Commits 窗格中分支过滤器的上下文菜单
  3. 请按以下方式指定您要比较的分支: branch1..branch2 列出所有从 branch2 中尚未包含在 branch1 中的提交。

  4. 按下 Ctrl+Enter

    在此示例中,列表包含在分支 feature1 中但不包含在分支 main 中的提交:

    筛选的提交列表

请观看此视频,以更清楚地了解如何比较您分支的变更:

删除分支

在您 整合功能分支的更改到开发主线上之后,您可以删除不再需要的分支。

  1. 请检出您将用于进一步工作的分支。

  2. 在 VCS 微件或 分支 窗格的 Git 工具窗口中,右键点击您要删除的分支并选择 删除

在您删除一个分支后,右下角会显示一个通知,您可以从中恢复已删除的分支:

删除分支通知

如果该分支包含尚未合并到其上游分支或当前分支的提交,它仍将立即被删除(相当于 git branch --Dgit branch --delete --force 命令),但通知还将包含一个链接,允许您查看未合并的提交。

如果已删除的分支正在跟踪一个远程分支,通知中也会有一个链接用于删除远程分支。

配置同步分支控制

如果您有一个多根存储库,您可以配置 RubyMine 以在所有根上同时执行所有分支操作(例如检出、合并、删除等),就像它是一个单一存储库一样。

  1. Ctrl+Alt+S 打开设置,然后选择 版本控制 | Git

  2. 选择 在所有根目录上执行分支操作 选项(请注意,仅当您的项目具有多个根时,此选项才可用)。

如果操作在至少一个代码库中失败,RubyMine 会建议您在成功的代码库中回滚此操作,以防止分支分叉。

2026年 3月 24日