2021-01-21
Unix系の環境でGitの操作をした際、権限を変更しただけで”ファイルを変更した”扱いになってしまうことがあります。
例: chmod 755 -R hoge cd hoge git diff diff --git a/API/.editorconfig b/API/.editorconfig old mode 100644 new mode 100755 diff --git a/API/.env.example b/API/.env.example old mode 100644 new mode 100755 diff --git a/API/.gitattributes b/API/.gitattributes old mode 100644 new mode 100755 diff --git a/API/.gitignore b/API/.gitignore old mode 100644 new mode 100755 diff --git a/API/app/Console/Kernel.php b/API/app/Console/Kernel.php old mode 100644 new mode 100755 diff --git a/API/app/Exceptions/ApiException.php b/API/app/Exceptions/ApiException.php old mode 100644 new mode 100755 diff --git a/API/app/Exceptions/Handler.php b/API/app/Exceptions/Handler.php old mode 100644 new mode 100755 diff --git a/API/app/Http/Controllers/Auth/ForgotPasswordController.php b/API/app/Http/Controllers/Auth/ForgotPasswordController.php old mode 100644 new mode 100755 ...
プログラムの動作上、権限の変更が必要になることがあるのですが、そのたびに変更の取り消しを行うのは面倒ですし、ローカルでファイルの変更を行っていたりするとさらにややこしくなる可能性があります。
実は、Gitで権限の管理を無効化する方法が標準で用意されているので、設定を行うだけで権限の変化をししてくれるようになります。
git config core.filemode false
として
git diff
を実行すると、権限の変更を行っても検知されなくなっているのがわかるかと思います。
お困りの方は是非参考にしてみてください。