git:如何配置 git 以忽略文件权限更改

git:如何配置 git 以忽略文件权限更改

我在 Linux 服务器上有一些 git 项目。

我使用 Mac 和 Linux 进行编程。问题是 Mac 文件系统的权限不能像 Linux 那样很好地工作,因此所有文件似乎都在 umask 0755 上。因此,每当我在 Mac 上提取代码时,都会git status显示我的所有文件都已更改,而当我使用git diff它时,显示唯一的更改是在 umask 中。我怎样才能告诉 git 不要存储和检查 umask 更改?

谢谢!

答案1

将配置core.fileMode属性设置为false。您可以使用以下命令轻松完成此操作:

git config core.fileMode false

答案2

我有一个小的脚本来切换这个

cat ~/bin/git-ignore-chmod-toggle

#!/bin/bash
# Copyright 2015 Alexx Roche, MIT license.
# based on http://superuser.com/a/261076

gitCHMODstate=$(git config --get core.fileMode)

# toggle with git config core.fileMode true 

if [ $gitCHMODstate == 'true' ];then
    echo "git now ignores file mode (chmod)"
    git config core.fileMode false
else
    echo "git not looks for files modes changed with chmod"
    git config core.fileMode true
fi

通过它,我可以切换 git,检查其他更改,然后快速重新发布。

相关内容