45

我正在尝试查看谁在 Intellij 15 中更改了一行。我知道我可以使用 git blame 但我想学习如何在 Intellij 中正确执行此操作。我右键单击文件上的行号,但是当我获得上下文菜单时,该annotate选项显示为灰色。我缺少什么设置?

我看了这个页面,找不到答案。我错过了什么?

4

12 回答 12

40

如果您检查File > Settings > Version Control并看到您当前的项目列在“未注册的根”下,请转到(在菜单栏上)VCS > Enable Version Control Integration。它会要求您选择您使用的 VCS 工具,然后单击确定,您将拥有所有集成工作(包括使用 git blame 的注释功能)。

于 2016-07-27T18:18:43.550 回答
34

@activedecay 的回答让我朝着正确的方向前进。就我而言,我有一个多模块项目——每个项目都有一个单独的 git repo——但我们都在同一个工作区中。

在我的例子中,Intellij IDEA 2017.2,Preferences -> Version Control面板显示了所有项目根目录的列表。禁用“注释”选项的模块位于“未注册的根”部分。

为了解决这个问题,我选择了模块并按下下方工具栏中的“+”图标,将模块根目录注册到 Intellij VCS。更改是即时的,并且“注释”选项变为可用。

于 2017-09-12T19:42:37.407 回答
17

看起来它是一个新鲜的项目。首先像 Git 一样配置版本控制,然后至少提交一次。首次提交后注释选项不会灰显。

还要为任何新版本更新 git。

于 2016-02-17T20:11:03.903 回答
13
  1. 确保文件被版本控制跟踪
  2. 将项目添加到“版本控制”设置版本控制设置
于 2016-02-17T20:31:52.940 回答
13

您的 VCS 未启用,因此出现了问题。以下是解决方案:

  1. 单击菜单栏中的 VCS 选项
  2. 启用 VCS
  3. 选择您的版本控制
  4. 完成后,您应该可以使用注释选项了。
于 2017-06-13T22:43:50.980 回答
5

我有同样的问题,注释是灰色的,但是 VCS 已经设置好了。编辑当前的 VCS 目录映射为我解决了这个问题。

  • 设置 -> 版本控制
  • 单击项目下列出的您的应用程序的当前条目。
  • 单击笔图标进行编辑
  • 点击确定,然后确定关闭主对话框
于 2018-06-26T10:25:54.003 回答
2

在版本控制设置下,确保删除所有未注册的根,我遇到了类似的问题,发现了一个未注册的根条目,删除这个不需要的条目后,我能够在文件上进行注释。

未注册的根

于 2021-05-21T10:19:34.990 回答
1

我以下两个屏幕短将解决您的问题:1。在此处输入图像描述

  1. 在此处输入图像描述

我希望在这些步骤之后,您将能够看到谁更改了线路。

于 2017-05-26T17:45:30.737 回答
1

以下是我遵循的步骤:转到 VCS -> 从版本控制中签出 -> Git -> 提供存储库的 URL。

现在将启用注释选项。

于 2019-02-19T21:17:46.150 回答
0

我遇到了完全相同的问题,并设法通过更新git来解决它。原因是我最近安装了 InteliJ Idea 和旧的 2.1.x git。

对于 Mac:

brew upgrade git
brew link git

然后IDE重新启动。

于 2018-02-21T13:03:55.597 回答
0

也许您在设置全新安装的 IntelliJ 时没有检查 Git 集成。当我更新到主要版本时,它发生在我身上。当我设置新程序时,我可能没有选中向导安装中的 Git 集成。

为了在 IntelliJ Community 2019.1 中解决此问题,请访问File > Settings > Plugins,转到Installed选项卡并确保检查了插件Git Integration。您应该重新启动 IDE 以使 Annotate 操作生效。

于 2019-04-29T13:42:21.867 回答
0

我有同样的问题,但我的 VCS 设置都配置正确。事实证明,git 本身将该文件视为一个全新的文件,因此没有任何历史记录。该文件实际上不是新文件,只是重命名了。虽然我的重命名更​​改未暂存,但 git 将其理解为两个单独的文件:删除旧文件和创建新文件。但是,一旦我git add编辑了“已删除”文件和“新”文件,git 就明白它实际上是一个重命名,并且 IntelliJ 能够按预期对文件进行注释。

我不确定为什么 git 在未暂存时不理解重命名,但希望这对某人有所帮助!

于 2020-02-10T19:26:27.880 回答