Linux と Windows ではファイルのパーミッションの扱いが異なるので、
Linux で作成したスクリプトファイル(パーミッション:0755
)を、
Windows でgit diff
したときに、パーミッションが0644
に変わっているということが起きたりします😓
ファイルパーミッションの変更を無視する方法
ファイルパーミッションの変更を検知しないようにするため、
Git の設定を以下のように変更✌️
$ git config core.filemode false
以下のコマンドでcore.filemode = false
に設定できたか確認👀
$ git config -l | grep filemode
git config core.filemode
とは
Git のパーミッション変更に関する設定
デフォルトだとtrue
になっており、こちらがfalse
になっていない場合、パーミッションが755
になっていたりすると644
に自動的に変換されたりします😷
設定した方がいいの?
1人で使用している場合は問題がないですが、
複数人で作業している場合には、パーミッションが Git の設定により、
「変更される人」と「変更されない人」が混在してしまうため、作業に支障をきたす可能性があるかも?
なので、設定する際は注意しましょう😪
参考
Git でファイルパーミッションの変更(chmod)を無視する - git config core.filemode false