Git diff在Windows上的符号链接上存在,但在FAT文件系统上的Mac上不存在

问题描述:

我有一个FAT外部磁盘,用于存储我的GIT仓库并在Mac和Windows上使用它。由于FAT没有权限,当我将文件从本地磁盘复制到外部FAT磁盘时,由于文件模式更改,我有git diff。我已经解决了与git的选项using thisGit diff在Windows上的符号链接上存在,但在FAT文件系统上的Mac上不存在

git config core.fileMode false 

现在在Mac上我没有git的差异,即git的差异是干净的。但是,当我走在Windows上,做git的差异我看到这一点:

enter image description here

我记得在更新后的Xcode使用的Xcode 6链接我的项目,当我有probles。我的框架,与您在上面的图片中看到的相同的框架,在Xcode中的位置,但未被识别和链接。所以我删除了他们重新添加并解决了问题。我想这是我有差异的原因。这里是一个差异的例子:

那句话: enter image description here

成为: enter image description here

为什么我没有看到在Mac这差异?为什么我在iOS框架文件中有差异以及diff的含义是什么(XSym,number [0022],hashcode)?

编辑: 看来,这是不知何故与FAT符号链接连接:http://www.tucuxi.org/os-x-vfat/但我不能确定如何解决我同时使用Windows和Mac一样的回购问题。

+0

似乎这可以帮助:http://*.com/questions/5917249/git-symlinks-in-windows – Narek 2014-11-21 10:43:53

这里是对问题的解释:http://www.tucuxi.org/os-x-vfat/两个词FAT对符号链接没有理解,因此当您将符号链接复制到FAT上时就试图模拟添加内容提到的是上面图像中的差异。

这里是解决方案: https://www.kernel.org/pub/software/scm/git/docs/git-config.html在拖的话,混帐core.symlinks配置应设置为false,使符号链接被检出含有链接文本小纯文本文件:

git config core.symlinks false 

而作为一个导致Mac上的差异也会存在。顺便说一句,框架文件中的差异文件使他们不能在Xcode上工作。

一般

因此,对FAT使用GIT我建议设置GIT这个全局设置:

git config --global core.fileMode false 
git config --global core.symlink false 
git config --global core.ignorecase true 

检查它是否是使用正确设置:

git config -l 

它显示所有继承的值:系统,全球和本地。

重要!即使您使用git config --global core.symlink false,您仍然应该为您的OSX和Windows检出不同的回购,以便该选项生效。因此,基本上,您应该在外置硬盘上安装2个回放 - 一个用于OSX,一个用于Windows。否则,你仍然会得到差异。