php_codesniffer
を使ってコーディング規約に沿って開発しているソースコードがあり、1つ消せないエラーがありまして、ご教示いただきたく。
Filename "ResetpasswordModel.php" doesn't match the expected filename "ResetPasswordModel.php"phpcs
passwordとPassword。
開発の過程で大文字小文字を誤ってしまったようでこれを正したいのですが、修正することができません。
(ResetpasswordModel.phpでなくResetPasswordModel.phpにしたいです。)
実践したこと
その1
- いったん別名に変換(ResetPasswordModel.php→XResetPasswordModel.php)しコミット。
- その後ファイル名を元に戻しコミット。
→変わらず同じエラーメッセージが出続ける。
その2
- ResetPasswordModel.phpを削除し、コミット。
- その後新しくResetPasswordModel.phpを作成し、コミット。
→変わらず同じエラーメッセージが出続ける。
リネームしても削除しても、エラーメッセージ(画面ショット参照)を見る限り、内部でResetpasswordModel.php
という誤ったファイルを持ち続けているようなのですが、これはどのようにすれば解決するでしょうか?
(似たようなパターンのファイル名は受け付けているので、コーディング規約のエラーとかではなくこのファイル単体の管理方法に誤りが出たのだと思っており、phpのタグも一応つけたのですが、gitの質問なのではないかと思っています。)
よろしくお願いします。
開発環境に関して
- Mac 10.14.6
- vscode 1.53.2 (PHP Sniffer & Beautifier for VS Codeなる拡張を使っています。)
- SourceTree(内蔵git2.27.0)を使用してコミット
追記 3/4 12:30
質問後に行ったことを追記させてもらいました。
大文字小文字を検知するようなオプションがあることを知り、有効にしました。
bash
1git config core.ignorecase false
リネームすると確かに大文字小文字を検知することがわかりました。
それでリネームしてはコミットしたりしましたがダメでした。
インデックスにキャッシュされているファイルを表示するコマンドを知り、試してみました。
bash
1git ls-files | grep Reset 2ResetpasswordModel.php 3ResetPasswordModel.php
誤ってる方を削除しましたが、ダメでした。
bash
1git rm --cached app/Models/ResetpasswordModel.php
適当なリモートリポジトリを作成し、一旦そこにあげる。
新しいクローンを作ってみると、エラーがなくなりました。
これはローカル(あげる前のプロジェクト)に何かキャッシュか何かを保持しているのでしょうか?
ローカルの其れを何かクリアする方法があるのでしょうか?
(先述したgit rm --cached
がそうじゃないのかなぁ...。)