我們在工作中遇到了一個奇怪的問題,我一直無法弄清楚。我們都在我們的臺式機上使用帶有Snow Leopard的MacBook,並且我們也有一些遠程使用的Linux服務器。我的一些團隊成員將git存儲庫放在Mac和Linux服務器之間共享的NFS文件系統上,這樣他們就不必考慮在其個人工作流程中共享代碼庫之間的代碼。git顯示在Mac上更改的隨機文件NFS文件系統
這是奇怪的開始,在OSX機器git會隨機在狀態展示一些文件過時的當您嘗試如果您運行git status
沒有文件顯示過時的合併或轉換分支等。 gitk
將以相同的方式顯示文件被修改但未提交的狀態。如果你reset --hard
這些文件,你可以有時改變分支之前,這再次出現,但大多不是。如果您登錄到其中一臺Linux機器並查看相同的存儲庫,那麼所有工作都可以完美地工作這些文件沒有標記爲已更改,您可以隨心所欲地做任何事情。
我已經消除了線結束差異和文件模式差異作爲罪魁禍首,但我不知道還有什麼其他嘗試。是否有一些OSX特定的NFS交互,我們必須以某種方式解決?
您的NFS服務器是否正確保存可執行位? – Romain 2011-12-19 15:06:33
除了@Romains問題:當文件顯示'過時'時:'git diff'返回什麼? – eckes 2011-12-19 15:10:06
我已經更新了我的文章,我誤以爲這些文件實際上並沒有顯示出來。 'git diff'什麼都不顯示(立即返回而沒有輸出)。 Mac和Linux上的'ls -l'看起來都一樣,有什麼我應該看的?在啓用了空白模式的emacs中,文件在Linux和Mac上顯示爲相同,並且具有相同的文件編碼。 – asm 2011-12-19 16:59:29