web-dev-qa-db-ja.com

git:ファイルのアクセス許可の変更を無視するようにgitを構成する方法

Linuxサーバーにいくつかのgitプロジェクトがあります。

macとLinuxを使用してプログラミングを行っています。問題は、macファイルシステムの権限がLinuxのように実際にはうまく機能しないため、すべてのファイルがumask 0755にあるように見えることです。そのため、macでコードをプルするたびに、git statusはすべてのファイルが変更されたことを示しますgit diffを使用すると、変更点はumaskのみであることを示しています。保存せずにumaskの変更を確認しないようにgitに指示するにはどうすればよいですか?

ありがとう!

21
ufk

をセットする core.fileMode構成プロパティをfalseに設定します。これは次のコマンドで簡単に実行できます。

git config core.fileMode false
28
Patches

これを切り替える小さなシェルスクリプトがあります。

猫〜/ bin/git-ignore-chmod-toggle

#!/bin/bash
# Copyright 2015 Alexx Roche, MIT license.
# based on http://superuser.com/a/261076

gitCHMODstate=$(git config --get core.fileMode)

# toggle with git config core.fileMode true 

if [ $gitCHMODstate == 'true' ];then
    echo "git now ignores file mode (chmod)"
    git config core.fileMode false
else
    echo "git not looks for files modes changed with chmod"
    git config core.fileMode true
fi

これにより、Gitを切り替えて他の変更を確認し、すぐに元に戻すことができます。

1
Alexx Roche