環境
macOS High Sierra 10.13.6
SourceTree 2.3.2
症状
差分がないのに差分として扱われています。
結論
gitの設定でファイルモードを無視するように変更すれば解決しました。
手順
SourceTreeの[メニュー] -> [操作] -> [ターミナルで開く]を選択し、ターミナルを開いてください。
ターミナルで下記を実行します。
$ git config core.filemode false
$ git config -l | grep filemode
core.filemode=falseが返ってこれば設定OK
これでSourceTreeのファイルステータスを見ると差分が消えてるはずです。
補足
今回の件は、ターミナルで差分を確認すると下記のような差分が表示されます。
old mode 100755
new mode 100644
これはファイルモード(パーミッション)が違うよっていうメッセージらしいのです。
それが引っかかって表示されていたようですね。
git reset --hardしたり、改行コードを確認したりしても当然解決はしないので、もしかしたらハマった人も多いのでは?
でも記事がほとんどなかったので、ハマったのは私くらいなのかなぁ・・・?
「差分がないのに差分が出る」で検索したら改行コードについての説明ばかりでした。
発生するタイミングは環境構築のタイミングくらいになると思うので、
環境構築時に身に覚えのない差分が大量に出たら、まずはこちらを確認してみたらいいかもしれませんね。
参考