2016-08-19 7 views
1

Gitがファイルパーミッションの変更を無視していない場合でも、filemode = false。私のグローバルファイルでは、ファイルモードはオフになっていますが、私がプロジェクト内の任意のフォルダに対するパーミッションを変更すると、それは追跡中でdiffで表示されます。私は私の許可の変更をまったく追跡したくありません。私~/.gitconfigGitがファイルのパーミッションの変更を無視していない

[core] 
    editor = vim 
    autocrlf = false 
    filemode = false 

gitのバージョンで

設定は2.7.4

+2

[this](http://stackoverflow.com/questions/1580596/how-do-i-make-git-ign-file-mode-chmod-changes )?いくつかの引用符: "この設定はモードの実行可能ビットのみをカバーし、読み取り/書き込みビットは決してカバーしません。" "グローバル設定は既存のレポには適用されません。" –

+0

ああ、それはすでにstackoverflowで投稿された回答では言及されていません。 "グローバル設定は既存のリポジトリには適用されません"。ローカルの設定ファイル.git/configを変更して、変更を追跡していません。私はそれを受け入れることができるように回答として@ルード感謝のポスト。 – owaishanif786

答えて

3

既存のリポジトリは通常、あなたがグローバル設定を変更することにより、影響を受けません。 git-config(1)から

Gitの設定は今まで一度に一つのファイルを変更します。新しいレポ(git init)の作成

は、新しく作成されたローカル.git/configファイルに明示的にfilemodeラインを置きます。グローバル~/.gitconfigファイルにこのような行がない場合でも、ハードコーディングされたデフォルト値trueが使用されます。後でグローバル設定を変更しても変更されません。後続のgit-initsにのみ影響します。 this answerの彼の貴重なコメントを@jeremyclarkeのおかげで

は、グローバル設定が既存のリポジトリに適用されないことを述べ、この答えに2つ目の警告を追加してください!各リポジトリに対して、ローカルコマンドを実行する必要があります(または、 "git init"と同じ効果があります)。これはかなり多くの人に影響を及ぼし、非常に混乱することがあります(特に、2番目のレポと最初に対話したときに、グローバル設定とローカル設定の両方を実行した最初のレポで動作していたバージョンの設定が変更されます)。

関連する問題