Git PHPStorm/IntelliJ autosave覆盖新提取的代码

Git PHPStorm/IntelliJ autosave覆盖新提取的代码,git,intellij-idea,phpstorm,Git,Intellij Idea,Phpstorm,我喜欢JetBrains IDE——我已经很高兴地使用IntelliJ和最近的PHPStorm好几年了。不幸的是,自从我们的团队迁移到Git之后,我遇到了autosave特性的问题,这意味着我不得不转而使用相对垃圾的Eclipse 基本上,当我进行Git拉取时,如果有任何文件在PHPStorm中打开,IDE无法用我刚拉取的新版本更新当前打开的文件,不会警告我有什么不同,很快就会用旧版本保存新拉取的文件 这导致同事们有几次失去工作 在执行拉取或签出操作之前,很容易忘记关闭IDE中的文件,并且很容易

我喜欢JetBrains IDE——我已经很高兴地使用IntelliJ和最近的PHPStorm好几年了。不幸的是,自从我们的团队迁移到Git之后,我遇到了autosave特性的问题,这意味着我不得不转而使用相对垃圾的Eclipse

基本上,当我进行Git拉取时,如果有任何文件在PHPStorm中打开,IDE无法用我刚拉取的新版本更新当前打开的文件,不会警告我有什么不同,很快就会用旧版本保存新拉取的文件

这导致同事们有几次失去工作

在执行拉取或签出操作之前,很容易忘记关闭IDE中的文件,并且很容易发生覆盖,因为每次离开编辑窗口时,PHPStorm都会保存文件。您无法关闭自动保存

我讨厌Eclipse,并希望有某种方法可以安全地返回到PHPStorm的一组奇妙的功能。还有其他人遇到过这个问题吗?您是否正在与Git一起愉快地使用JetBrains IDE?有我可以使用的设置吗


我认为这可能与JetBrains追踪器上讨论的bug有关。可惜如此伟大的IDE被这种行为破坏了

这可能是由于符号链接或某些其他配置破坏了本机文件系统通知(由与基于IntelliJ IDEA的产品捆绑在一起的
fsnotifier
binary提供)

你可以试试新的,看看它在那里是否有效。如果没有


作为一种解决方法,可以删除
fsnotifier
,IDEA将使用Java轮询方法检测外部更改(更可靠,但速度较慢)。

我发现您可以在IDE设置>常规中关闭PHPStorm的自动保存功能-取消选择“在帧激活时保存文件”和“在应用程序空闲时自动保存文件”. 像这样工作了几个月之后,我再也没有被另一个文件覆盖过。我确实怀念便捷的autosave,偶尔会收到令人讨厌的内存/文件系统差异警告,但我很高兴我能继续使用我最喜欢的IDE

我做的另一件新事情是每当我拉入目录时手动同步它。当我刚开始时,我找不到任何关于“同步”是什么的解释-为了其他傻瓜的利益,它基本上将PHPStorm文件视图中的文件与文件系统上可能发生的任何更改同步


您可以在禁用帧时关闭自动保存功能。。因此,它将询问如何处理更改的文件(保留编辑器中的内容、从磁盘加载、合并):设置| GeneralThanks LazyOne,我关闭了该选项,但仍然遇到了问题。我不是100%确定自动保存是如何工作的——可能每次更改后PHPStorm都会保存。不——它不会。但是如果您启用了LiveEdit插件(查看| Live Edit),那么在进行任何更改延迟0.5秒(大约)后(这是插件运行所必需的,以完成其主要任务),它确实会保存所有文件.Hm,我似乎没有那个插件。我也不知道。你可以通过电子邮件直接联系他们的技术支持——他们的响应速度非常快。多亏了疯狂,我使用的是EAP版本。我找到了一种解决问题的方法,威尔发布了答案。我搜索了我所有的设置文件,但在我的phpstorm2017.2.4中找不到上面的选项。我正在运行2017.3,我仍然可以在“外观和行为>系统设置”下看到它Pratik-look。