Git でファイルパーミッションの変更(chmod)を無視する - git config core.filemode false
さて変更を反映するか。
$ git pull
remote: Counting objects: 74, done.
remote: Compressing objects: 100% (37/37), done.
remote: Total 60 (delta 26), reused 55 (delta 21)
Unpacking objects: 100% (60/60), done.
From xxxxxxxxxx
xxxxxx..xxxxxx master -> origin/master
Updating xxxxxx..xxxxxx
error: Your local changes to 'xxxxxxxxxx' would be overwritten by merge. Aborting.
Please, commit your changes or stash them before you can merge.
む、サーバー上で作業はしてないはずだが。 git status
みてみる。
$ git st
# On branch master
# Your branch is behind 'origin/master' by 4 commits, and can be fast-forwarded.
#
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: .gitignore
# modified: xxxxxxxxxx
むむ、なぜだ。 git diff
してみる。
$ git diff
diff --git a/.gitignore b/.gitignore
old mode 100644
new mode 100755
diff --git a/xxxxxxxxxx b/xxxxxxxxxx
old mode 100644
new mode 100755
どうやら、ファイルパーミッションの変更まで検知してしまっているようだ。
では、ファイルモードの変更を感知しないようにするには…。
ググったら以下の質問(StackOverflow)が見つかった。
結果は、これでパーミッション変更を無視できるらしい。
$ git config core.filemode false
ちゃんと core.filemode = false
に設定できたか確認するには以下のコマンドで。
$ git config -l | grep filemode
これ読んで勉強しましょうね。