2017-01-16 12 views
0

私のlinuxとwindowsマシンの間でリポジトリを共有していて、linuxマシンでいくつかの権限の変更をプッシュしました。linuxとwindowsの間でリポジトリを共有する際の問題

今私のWindowsマシンは、これを行うときに私が最新だと言う:

git fetch -all 
git reset --hard origin/master 
git pull 

まだ私は次の操作を実行しようとすると:

git checkout dev 

それは突然私が持っている私に指示しますローカルの変更は、私のLinuxマシン上のパーミッションを変更したのと同じファイルになります。

これに対処する正しい方法は何ですか?私はこれらの許可の変更を行ったので、Linuxマシンを引き出すたびに手動でchmodを使用する必要はありません。

+0

ここでは、行末の問題があると思われます。 WindowsとLinuxは異なる行末を使用しており、Linuxでそれらのファイルに触れた場合、エンディングが何らかの形で変更された可能性があります。 –

+0

私は、私のWindows gitのインストールを設定して、常にLinuxの行末をプルとコミットの両方に使うようにしています。 – xorinzor

答えて

4

Windowsではcore.fileModefalseに設定してください。実行可能ビットはWindowsのrepoでは無視されます。

+0

ありがとう!それはうまくいった! (興味深いことに、 'git config core.fileMode false'を' --global'引数なしで使ったときだけです) – xorinzor

+0

おそらく、 'clone'はあなたのファイルシステムが実行可能ビットをサポートしているかどうかを判断し、自動的にリポジトリを開きます。しかし、それは間違っているか変化しているかもしれません。 g。 Cygwin Gitを使ってクローンを作成した後、Git for Windowsを使うか、ext3でクローンしてからCIFS共有でリポジトリにアクセスしてください。したがって、このプロパティはリポジトリレベルで設定されている可能性が高いため、グローバルレベルが上書きされました。 – Vampire

関連する問題