【发布时间】:2017-09-20 16:57:59
【问题描述】:
似乎当我在 PhpStorm 中修改作为 git 项目的一部分的文件时,即使在所有更改都已还原(Ctrl + Z 或手动撤消它们之后,它也会将该文件标记为已修改)。这似乎是 PhpStorm 特有的,即使我为 PhpStorm 中的项目禁用了 VCS,也会发生这种情况。
很明显,PhpStorm 在幕后做了一些事情,这正是我想要弄清楚的。
我已经根据索引和行尾外检查了工作树,一切都精确到文件的 mtime 和 ctime。我附上了两个屏幕截图,第一个是在 PhpStorm 中进行更改并撤消它,第二个是通过 Visual Studio Code。我标记了我进行更改的点 (1) 并恢复了更改 (2)。我也尝试使用git diff 来尝试找出 Git 认为的不同之处,但每次都没有找到。
当我通过 PhpStorm 进行更改而不是通过 VSCode 进行更改时,谁能建议正在使用的 Git 功能(如果有的话)?或者可能是一种方法来弄清楚为什么 Git 认为文件已被修改,尽管所有更改都已通过 PhpStorm 还原。
在 PhpStorm 论坛上发帖:
【问题讨论】:
-
比较时间戳。如果启用“安全写入”选项,IDE 将首先写入临时文件,然后删除原始文件并将临时文件重命名为目标文件。这是我首先想到的。 编辑: 哦,您已经比较了所有内容,并且看起来都一样……那么没有想法。 P.S. 您是否使用本地历史记录进行撤消?也许它的行为有所不同......
-
@LazyOne 我没有尝试使用本地历史来撤消,我会试一试。
标签: git visual-studio-code phpstorm diff