IntelliJ支持git存储和自己内置的暂存命令。它们在目的和效用上似乎几乎相同。它们之间有什么区别?
IntelliJ支持git存储和自己内置的暂存命令。它们在目的和效用上似乎几乎相同。它们之间有什么区别?
从IntelliJ 文档中:
在Git集成中,除了存储和取消存储外,还支持“藏匿”和“取消藏匿”。这些功能有很多共同点,唯一的区别在于生成和应用补丁的方式。
- 具有隐藏更改的补丁是由Git本身生成的。以后应用它们时,您不需要IntelliJ IDEA。
- 具有搁置更改的补丁是由IntelliJ IDEA生成的。通常,它们也是通过IDE应用的。在IntelliJ IDEA之外应用已搁置的更改也可能,但需要额外的步骤。
git stash push
可以对单个文件进行存储。 - Deric Limagit stash -- foo/bar.txt
。 - ChaozIntellij的临时储存Shelve相对于纯Git的暂存stash有一个明显的优势,就是使用Shelve时,您可以将属于多个仓库的更改保存在一个变更列表中。而使用stash,则需要在每个仓库中分别进行暂存/恢复。这在具有多个模块(每个模块都有自己的仓库)的大型项目中非常有用,其中特定的功能工作可能跨越多个模块(因此涉及多个仓库)。
以下是文档中的说明:
存储更改与搁置更改非常相似,唯一的区别在于生成和应用补丁的方式不同。Git 生成了存储,可以从 IntelliJ IDEA 内部或外部应用。带有搁置更改的补丁由 IntelliJ IDEA 生成,并通过 IDE 应用。此外,存储涉及所有未提交的更改,而将更改放入搁置时,您可以选择其中一些本地更改而不是全部搁置。
quilt
https://en.wikipedia.org/wiki/Quilt_(software)。它与版本控制系统无关,但在Windows上有些过时和问题,因为需要Bash。将其视为专有IntelliS Shelve的开放替代品。 - gavenkoa