我在 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,检查其他更改,然后快速重新发布。