【发布时间】:2018-08-31 05:31:40
【问题描述】:
在 Windows 和 Mac OS 上重现。
在我们的项目中,我们有预提交钩子,它运行PHP-CS-Fixer,它修改文件中方法之间的空白行数(从多减少到一)。之后,它让git add <modified_file> 进行该更改。
当我们从 PhpStorm 提交对话框 (Ctrl + K) 提交时,它成功提交,然后导致该对话框的奇怪状态(提交后再次按 Ctrl + K)消息“内容相同”(见第一个屏幕截图)。
PhpStorm 提交后修改空白行的提交对话框
如果在提交后运行 git status 我们会看到什么
如果在提交后运行 git diff 我们会看到什么
注意:如果我们从命令行提交(而不是从 PhpStorm 提交对话框),一切正常。
(UPDATE) 注意 2:如果 pre-commit (php-cs-fixer) 进行与空行无关的更改也一切正常。
我们做错了什么?是否与 PhpStorm 如何提交有关?如何解决?
【问题讨论】:
-
IDE 似乎没有检测到外部更改(因为 IDE 使用它自己的文件系统)。如果您不顾“内容相同”的消息而提交 - 它会起作用吗?它会做出正确的改变吗?
-
@Ástþór 有趣的是,如果预提交进行了与空行无关的更改,例如更改大括号之间的空格数等,一切正常。
标签: git phpstorm jetbrains-ide pre-commit-hook php-cs-fixer