git status显示在复制文件后修改

时间:2010-09-02 21:18:59

标签: git filesystems

当我将文件从我的Linux机器复制到外部HDD(FAT格式)时,'git status'显示文件已被修改。我想这是因为文件系统不同而发生的。

我用FAT格式化外置硬盘以与我的Mac,Windows和Linux共享。

我该如何解决这个问题?

感谢。

萨姆

4 个答案:

答案 0 :(得分:2)

这可能是由不匹配的权限位引起的。来自git-config manpage

  

core.fileMode

     

如果为false,则为可执行位   指数和指数之间的差异   工作副本被忽略;有用的   像FAT一样破碎的文件系统。看到   GIT-更新索引(1)。

答案 1 :(得分:2)

不要忘记设置core.autocrlf to false eol(行尾)样式可以在OS /支持之间变化,并引入这些“变化”。

答案 2 :(得分:1)

当您复制文件时,如果您正在将位从一个磁盘移动到另一个磁盘(例如使用cp或拖放),那么您可以考虑在外部驱动器上创建一个裸仓库以进行推/拉在你的其他系统上。

它没有解决需要进行的EOL更改(例如在VonC的响应中提到),但它确实节省了一点时间在驱动器之间来回复制文件。

答案 3 :(得分:0)

另一种解决方案可能是,如果您确定2个文件夹之间没有任何变化,那么结帐并拉动

git checkout -- .
git pull