将所有文件的chmod从100755更改为100644,Git如何显示?

3
今天我试图在cygwin上安装tmux,然后突然间我所有的文件都发生了更改。它们的权限从100755变成了100644,我无法摆脱它们...... 我以为git checkout -- .git reset --hard会起作用,但只要我再次运行git status,所有文件都被修改了。
我已经删除了tmux,重新启动了计算机,完全重新克隆了存储库等等,但没有任何效果......我不知道是什么东西在更改我的所有文件!我知道有些人说只需使用git config core.filemode false告诉git不要查看这些更改,但这不是我想要的。我的IIS无法处理新的文件权限,所以我不能忽略它们并继续下去......
有什么想法吗?

根据你自己的说法,似乎是Tmux更改了权限,而不是Git。 Git不是问题,也不是解决方案。 - Zombo
1
这很有趣...我不确定tmux如何改变文件权限。它是一个非常良好构建的、无侵入性的工具,与随机文件的权限毫无关系。如果我们发现tmux是根本原因,我会感到惊讶。 - user777337
1
我在办公室的Windows PC上使用Cygwin+git时遇到了同样的问题。起初,我认为这是由于繁琐的内部Active Directory组策略引起的,但现在我不太确定了。相关链接:https://cygwin.com/ml/cygwin/2015-09/msg00072.html - kevinarpe
1个回答

2

如果您使用的是最近版本的Git(2.9.1或更高版本),请尝试以下操作:

git add --chmod=+x -- my*.files

这将强制Git将这些文件添加为755权限。
但是可能tmux有一个umask,会强制以644检出文件。
在输入umask 002后再次尝试克隆。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接