当我将文件从我的Linux机器复制到外部HDD(FAT格式)时,'git status'显示文件已被修改。我想这是因为文件系统不同而发生的。
我用FAT格式化外置硬盘以与我的Mac,Windows和Linux共享。
我该如何解决这个问题?
感谢。
萨姆
答案 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