我们在工作中遇到了一个奇怪的问题,我一直无法弄清楚。我们都在我们的台式机上使用带有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