【问题标题】:git showing all files chmod to 100644 from 100755git 显示从 100755 到 100644 的所有文件
【发布时间】:2016-01-11 17:11:38
【问题描述】:

今天我试图在 cygwin 上安装 tmux,然后突然间我的所有文件都得到了更改。他们都不知从何处将权限从 100755 更改为 100644,我无法摆脱它们……我以为 git checkout -- .git reset --hard 会起作用,但是一旦我再次运行 git status,所有文件又被修改了。

我已经删除了 tmux,重新启动了计算机,完全重新克隆了 repo 等等,但没有任何东西可以修复它......我不知道到底是什么在改变我的所有文件!我知道有些人说只是使用git config core.filemode false 告诉 git 不要查看更改,但这不是我想要的。我的 IIS 不能使用新的文件权限,所以我不能忽略它们并继续...

有什么想法吗?

【问题讨论】:

  • 您自己承认,似乎是 Tmux 更改了权限,而不是 Git。 Git 不是问题,Git 也不是解决方案。
  • 这很有趣。我不确定tmux 是如何更改文件权限的。这是一个构建良好的非侵入性工具,与随机文件的权限无关。我会惊讶地发现我们的tmux 是造成这种情况的根本原因。
  • 我在办公室的 Windows PC 上使用 Cygwin+git 遇到了同样的问题。起初,我认为这是由于繁重的内部 Active Directory 组策略造成的,但现在我不太确定了。相关:cygwin.com/ml/cygwin/2015-09/msg00072.html

标签: git cygwin tmux


【解决方案1】:

使用最近的 Git (2.9.1 or more),尝试:

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

这应该会强制 Git 将这些文件添加为 755。
但是tmux has an umask 可能会强制将文件签出为 644。
输入后再次尝试克隆:umask 002

【讨论】:

    猜你喜欢
    • 2014-10-29
    • 2015-03-31
    • 2010-11-18
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 2020-01-18
    相关资源
    最近更新 更多