IntelliJ 支持 git 存储以及它自己内置的搁置命令。它们的用途和效用似乎几乎完全相同。他们之间有什么区别?
来自 IntelliJ 文件:
在 Git 集成中,除了搁置和取消搁置之外,还分别支持“存储”和“取消存储”。这些特性有很多共同之处,唯一的区别在于补丁的生成和应用方式。 带有隐藏更改的补丁是由 Git 自己生成的。 带有搁置更改的补丁是由 IntelliJIDEA 生成的。通常,它们也通过 IDE 应用。在 IntelliJIDEA 之外应用搁置的更改也是可能的,但需要额外的步骤。
在 Git 集成中,除了搁置和取消搁置之外,还分别支持“存储”和“取消存储”。这些特性有很多共同之处,唯一的区别在于补丁的生成和应用方式。
它们非常相似,除了:
此外,恕我直言,搁置的工作稍快,特别是在一个大型项目,当大量的文件被更改。
有关更多信息,请参见 文件。
Intellij 的 Shelve 与普通 Git 相比有一个明显的优势,那就是使用 Shelve,您可以在一个变更列表中保存属于多个回购的更改。使用存储,您需要在每个回购单独存储/取消存储。这在具有多个模块(每个模块都有自己的回购协议)的大型项目中非常有用,其中特定的功能工作可能跨越多个模块(因此是多个回购协议)
文件是这么说的
存储更改与搁置非常相似。唯一的区别在于补丁的生成和应用方式。Stash 是由 Git 生成的,可以从 IntelliJIDEA 内部应用,也可以从其外部应用。带有搁置更改的补丁由 IntelliJIDEA 生成,也可以通过 IDE 应用。另外,存储涉及所有未提交的更改,而当您将更改放到搁置中时,您可以选择一些本地更改,而不是将它们全部搁置。