我通过复制到外部硬盘将一堆我的git存储库移动到另一个操作系统.现在,当我这样做时git diff
,报告所有文件模式都已更改.
diff --git a/.gitignore b/.gitignore
old mode 100644
new mode 100755
diff --git a/.npmignore b/.npmignore
old mode 100644
new mode 100755
diff --git a/.travis.yml b/.travis.yml
old mode 100644
new mode 100755
diff --git a/LICENSE b/LICENSE
old mode 100644
new mode 100755
diff --git a/README.md b/README.md
old mode 100644
new mode 100755
Run Code Online (Sandbox Code Playgroud)
我对文件权限知之甚少,我该怎么办呢?
提交模式更改?为所有非可执行文件更改模式?git重置?
Car*_*rum 11
可能你的外部硬盘驱动器上有一个不同于原始文件权限的文件系统.在提交之前,我只需要手动纠正它们.
例如,通常在USB拇指驱动器上使用的FAT32不支持执行权限.当您将文件从FAT32文件系统复制到普通的类Unix文件系统时,它通常会为所有文件设置执行权限,因为这比为所有文件关闭文件要小.
如果要保留此类信息,请不要将文件直接复制到驱动器; 相反,制作一个tar文件(可选择压缩),然后在另一端解压缩.tar格式确实跟踪Unix权限位.
请注意,git本身不会跟踪可执行文件与非可执行文件.如果模式更改是唯一的区别,并且您不想重新复制所有内容,则可以将输出git diff
转换为脚本,chmod -x
对所有受影响的文件执行操作.
归档时间: |
|
查看次数: |
5844 次 |
最近记录: |