PhpStorm和带有PHP-CS-Fixer的预提交钩子,可修改php文件中的空白行数

时间:2018-08-31 05:31:41

标签: git phpstorm jetbrains-ide pre-commit-hook php-cs-fixer

在Windows和Mac OS上复制。

在我们的项目中,我们有一个预先提交的钩子,该钩子运行PHP-CS-Fixer,该钩子修改文件中方法之间的空行数(从多行减少为一个)。之后,git add <modified_file>会进行更改。

当我们从PhpStorm提交对话框( Ctrl + K )提交时,它会成功提交,然后导致该对话框的异常状态(提交后再次按 Ctrl + K )消息“内容相同”(请参阅​​第一个屏幕截图)。

修改空白行后提交的PhpStorm提交对话框

PhpStorm commit dialog after commit with blank lines modifications

如果在提交后运行 git status ,我们会看到什么

What we see if run **git status** after commit

提交后运行 git diff 会看到什么

What we see if run **git diff** after commit

注意:如果我们从命令行(而不是PhpStorm提交对话框)进行提交,一切正常。

更新)注2:如果预先提交(php-cs-fixer)进行与空白行无关的更改,则一切正常。

我们做错了什么?这与PhpStorm提交方式有关吗?该如何解决?

1 个答案:

答案 0 :(得分:0)

我在PhpStorm错误跟踪程序中发布了issue,他们建议在git update-index -g上添加提交后挂钩。我成功了!