【问题标题】:PhpStorm and pre-commit hook with PHP-CS-Fixer which modifies number of blank lines in php filePhpStorm 和预提交钩子与 PHP-CS-Fixer 修改 php 文件中的空白行数
【发布时间】: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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2018-03-04
    • 2019-12-07
    • 1970-01-01
    • 2018-02-28
    • 1970-01-01
    • 1970-01-01
    • 2018-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多