如何在IntelliJ IDEA中审核pull请求?

112

我们正在使用git、Bitbucket和IntelliJ IDEA。该项目主要使用Java和Groovy编写。

有没有一种很好的方式可以直接在IntelliJ中审查pull request呢?


你可以使用这个插件来审查 Bitbucket PRs。不过它是收费的。https://plugins.jetbrains.com/plugin/13538-code-review-for-bitbucket/ - ekudel
5个回答

119

最新信息(2021年3月)

现在,IntelliJ 2020.2 完全支持审查 Pull Requests

该功能的预览

访问该功能

您可以导航至:主菜单 > VCS > Git > 查看 Pull Requests

从顶部菜单访问

或者可能在您的左侧“侧边栏”中(这里是从上往下数的第三个选项):

从侧边栏访问

更多信息

它似乎主要是为 GitHub 集成的 (来源):

现在,可以直接从 IntelliJ IDEA 完成整个 GitHub Pull Request 工作流程。可以浏览、分配、管理甚至合并 Pull Requests,查看时间轴和内联注释,提交评论和审阅,以及接受更改。

一个更详细的描述所有引入的与版本控制相关功能, 可以在此找到:这里

完整支持 GitHub Pull 请求

我们很高兴地宣布,IntelliJ IDEA 2020.2 将全面支持 GitHub Pull 请求!

我们在 v2018.3 中引入了 GitHub Pull 请求的初步支持,并自那时以来不断增强了这个功能。此前,IDE 工具窗口中有一些有用的功能,例如包含存储库所有 Pull 请求列表的 GitHub 工具窗口、打开在编辑器中的 Pull 请求的时间线视图以及查看差异的评论并创建自己的评论的能力。但是那些功能主要是用于查看而非与其交互。

使用即将推出的 IntelliJ IDEA 2020.2,您将能够浏览、分配、管理甚至合并 pull 请求,查看时间线和内联评论,提交评论和审阅,以及接受更改。

您不再需要在浏览器和 IDE 之间切换,现在可以从 IntelliJ IDEA 中完成整个 Pull 请求工作流程!

更多预览

以及审核和合并的另外两个 sneak-peaks:

预览#2

预览#3


创建PRs

此外,从2021.1版本开始,您还可以创建Pull Requests:

创建一个PR


25
我认为这只适用于Github,我尝试在Bitbucket上托管的一个项目中使用它,但是“查看拉取请求”的选项不存在。然而,当我在Github项目上尝试时,这个选项就存在了。 - rvazquezglez
3
我在GHE中也看不到任何东西。 - bahti
2
与GitLab一样,它默认只支持GitHub。 - mochadwi
1
这似乎无法与Github企业版一起使用,正如@bahti所指出的:( - Yeikel
3
这对我来说可行,使用的是GitHub企业版。 - ytoledano
显示剩余9条评论

51

GitHub(或者BitBucket)的官方支持请求审核仍然未得到认可(问题IDEA-85079, 于2012年发布)。这将在2020.2版本中实现(请参见此处)。

自2016年以来,已经在2018.3版本中支持了GitHub PR, 如此处所述

目前主要是只读模式——可以从PR中创建本地分支或在GitHub上打开并进行评论/关闭——但这只是第一步。

在未来的版本中,我们计划增加额外的功能——能够从IDE直接分配PR(IDEA-146659),合并/关闭PR,评论PR和特定代码行(IDEA-64794)。
但是:(2019年9月)
很不明显如何打开PR页面。我不得不查看发布说明才发现需要双击。PR选项卡的可发现性也不好;它默认情况下不可见,并且从版本控制选项卡无法访问,这是我首先查找的地方。

2020年1月:丹·奥克评论中提到:

CodeStream提供了一种将GitHub PRs集成到IDEA中的工具。
请参见Pull Request Integrations:

CodeStream可以在您的编辑器中显示合并的pull request注释,作为当前版本的注释。


2016:

这将使您拥有一个手动过程,获取PR并比较分支:

git fetch origin pull/1234/head:pr-1234

对于BitBucket

git fetch origin refs/pull-requests/1234/from:pr-1234

(另请参见 "如何在BitBucket中获取Pull请求")

然后,您可以在IntelliJ中比较分支


1
我一直在寻找Bitbucket的解决方案,但我猜这可能会在Github之后才出现。 - galusben
1
@gba 实际上,对于 BitBucket 的 pull 请求,问题(和当前的解决方案)是相同的。 - VonC
1
@gba 我已经编辑了答案,包括适用于BitBucket(而不仅仅是GitHub)的refspec。 - VonC
2
@VonC - 在这个过程中,您如何留下PR评论? - AlikElzin-kilaka
4
Codestream.com 提供了一个工具,可以将 GitHub 的 PR 集成到 IDEA 中。请参见 github.com/TeamCodeStream/CodeStream/wiki/Pull-Request-Integrations。 - Dan Oak
显示剩余9条评论

10

我发现在 .git/config 文件中,在 [remote "origin"] 的部分下面添加 fetch = +refs/pull/*/head:refs/remotes/origin/pr/* 更容易理解。

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = xxxxxxxxxxxxxxx.git
    fetch = +refs/pull/*/head:refs/remotes/origin/pr/*

然后,git fetch origin 可以获取所有的拉取请求。我认为这对于 BitBucket 也适用,尽管我还没有测试过。


3
在Jetbrains 2023中,您可以执行以下操作之一:
  • 只需打开IDE左侧通常位于Pull requests窗口
  • 或者转到菜单Git -> Github -> View pull requests
第一次使用时,您需要使用您的git账户进行登录。

这个问题被标记为 bitbucket,并没有提到 GitHub。不幸的是,Intellij目前似乎不支持BitBucket。 - Guildenstern

1

要查看拉取请求和更改,请按照以下步骤在Intellij中进行:

  1. 转到版本控制。
  2. 单击日志。将显示所有提交的列表。
  3. 选择特定提交。
  4. 在右侧窗口中,您将获得此提交中更改的列表。
  5. 选择显示父级更改。
  6. 单击显示更改的文件,然后您将能够查看所有代码更改。

3
一个拉取请求可能有多个提交。此外,我期望能够完全与Github和Bitbucket集成,以添加注释、任务、批准、合并等功能。无论如何,谢谢 :-) - galusben
非常感谢 @KayV。你帮了我很多,尽管我知道这个,但在PR上忘记使用它了。 - rpajaziti

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接