2017-01-16 163 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.fileMode設置爲false,然後窗口回購的可執行位被忽略。

+0

謝謝!工作! (有趣的是,只有當我使用'git config core.fileMode false'而沒有'--global'參數時才使用它) – xorinzor

+0

這可能是因爲'clone'試圖確定你的文件系統是否支持可執行位並將屬性設置爲on您的存儲庫自動。但它可能是錯誤的或改變,例如, G。如果你使用Cygwin Git進行克隆,然後使用Git for Windows,或者在ext3上克隆,然後通過CIFS共享訪問repo。因此,該屬性可能設置爲存儲庫級別,因此全局級別被覆蓋。 – Vampire