始める前に、私はすでに this post と this one も調べたと言いますが、何らかの理由で、そこに提供されているソリューションが機能しません。私のリポジトリは~/sources
したがって、すべてのコマンドはそのパスから実行されました。これは私がやったことです:
ファイルモードをfalseに変更します。
$ git config --global core.filemode false
グローバル構成を確認します。
$ git config --list
...
core.filemode=false
core.repositoryformatversion=0
core.bare=false
core.logallrefupdates=true
...
リポジトリを再初期化します。
$ git init
Reinitialized existing Git repository in /home/rperez/sources/.git/
追加する必要があるものを確認してください|コミット:
$ git status
そして、リポジトリからすべてのファイルを含むリストを取得します。
使っています:
$ git --version
git version 2.9.3
UPDATE:2つの異なるファイルのgit diffを追加しました
$ git status
...
modified: testing/test-valid-swasset-update.php
...
Untracked files:
(use "git add <file>..." to include in what will be committed)
library/mpdf60/ttfontdata/dejavusanscondensedI.GDEFdata.php
...
git diff
上記のファイルからの出力:
$ git diff testing/test-valid-swasset-update.php
diff --git a/testing/test-valid-swasset-update.php b/testing/test-valid-swasset-update.php
old mode 100755
new mode 100644
ここで何が欠けていますか?
質問のdiff出力は、localgit configでfilemode
がtrueに設定されていることを示しています。リポジトリ用に作成されたデフォルトの構成でこれが定義されているため、これはおそらく予想される動作です。
-> git init
Initialized empty Git repository in /tmp/foo/.git/
-> cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
filemode
のグローバル構成を変更してもこれには影響しないため、実際にはgit config --global core.filemode false
は常にローカルでオーバーライドされるため、何もしません。
したがって、このリポジトリのファイルモードを変更するには、ローカル構成を変更します。
$ git config core.filemode false
$ git config core.filemode
false
与えられた この質問/答え は、私にとっては機能しませんでしたが、機能すると思われる可能性があります。
これでローカル設定が何であるかを確認できます:git config --local --list
...次のようにローカル値を設定します。
git config --local core.filemode false