2015-10-07 26 views

回答

33

从的IntelliJ documentation

在Git的整合,除了货架和unshelving, “积攒” 和 “unstashing” 分别支持。这些功能有很多共同之处,唯一的区别在于补丁程序生成和应用的方式。

  • Git自身生成带有隐藏更改的修补程序。稍后应用它们,您不需要IntelliJ IDEA。
  • 带有搁置更改的修补程序由IntelliJ IDEA生成。通常,它们也通过IDE应用。在IntelliJ IDEA之外应用搁置的更改也是可能的,但需要额外的步骤。
+10

那么搁置的优点是什么,因为它只是“不兼容”用普通的混帐? – MaxiWheat

+7

如果您使用没有原生存储风格功能的VCS,则搁置似乎很有用。如果你使用git,我看不到任何真正的好处。 –

14

他们除了非常相似:

  • 不能使用外搁置IDE,因为它的IntelliJ的功能。
  • Git存储只适用于整个工作目录和索引。 IntelliJ的搁架可以处理单个文件和更改列表(另一个IntelliJ特性)。正如你所看到的,例如,here,有时这是必要的。
  • 想法有更好的内置支持搁置。使用git存储更直接。特别是,您可以搁置\取消更改或从版本控制工具窗口查看已搁置的文件。

此外,恕我直言,搁置工作稍快,特别是在一个大项目,当大量的文件被改变。

查看documentation了解更多信息。

+0

我发现右键点击一个不变的东西很快就会变得非常有用。正如你所暗示的,我发现它稍微快一点。 – vikingsteve

2

Intellij's Shelve超过普通Git隐藏的一个独特优势是使用Shelve,您可以将属于多个Repos的更改保存在一个更改列表中。使用存储,你需要单独存储/取消每个回购。这对于一个包含多个模块(每个模块有自己的回购)的大型项目非常有用,其中一个特定的功能可能会跨越多个模块(因此可能需要多个回购)