1. 命令行tar -zxvf解压
在linux上压缩的tar.gz文件,移到win10上时,一定要用命令行tar -zxvf进行解压。如果利用win10自带的zip解压,会造成文件丢失。
大小写:
win10上文件名不区分大小写,linux上区分大小写。linux上的文件到win10上解压,会有文件被覆盖掉,比如内核文件里*.s文件和*.S文件。
2. win10和wsl中解压相同文件后,但结果文件不同
win10上git status:
在wls中,存在以上被删除的文件:
原因:
如果使用的是 Linux 内核代码,这类工程大量使用符号链接,强烈建议在 WSL/Linux 环境中做 Git 操作,避免不一致问题。
3. 大量的 modified
文件
你当前的 Git 仓库报告了大量的 modified
文件,但同时出现了:
error: object directory /.../objects does not exist; check .git/objects/info/alternates
说明你这个仓库不是完整的 Git 仓库,它依赖的对象库已经丢失,Git 无法正确解析原始文件状态,导致你看到的 "modified" 状态可能是伪变化(不真实的)。
由于设置了.git/objects/info/alternates,当 .git/objects/info/alternates
指向的对象路径不存在时,Git 无法还原 HEAD(最后一次提交)中的文件内容,所以它把所有看起来不同的文件当作“modified”对待。
4. aux.c和aux.h文件无法在win10中git add
在 Windows 系统中,aux
是一个保留名称,不能用于文件名或文件夹名。因此,即使您尝试使用 git add aux.c
命令,系统也会提示 No such file or directory
的错误,因为 aux
是 Windows 的保留名称之一。
1)把aux.c和aux.h重命名,
2)如果您希望保留 aux.c
文件名,可以尝试修改 Git 的配置,绕过 NTFS 文件系统的限制。具体操作如下:
git config core.protectNTFS false
重新提交。
5、小结
当前Linux上tar.gz文件到win10上解压,存在问题,有几方面原因:
1)解压软件,要用tar工具;
2)win10文件名大小写不区分;
3)win10不能用aux开头文件;
4)linux上符合链接文件,win10无法识别;