![git:如何配置 git 以忽略文件权限更改](https://linux22.com/image/1269621/git%EF%BC%9A%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AE%20git%20%E4%BB%A5%E5%BF%BD%E7%95%A5%E6%96%87%E4%BB%B6%E6%9D%83%E9%99%90%E6%9B%B4%E6%94%B9.png)
我在 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,检查其他更改,然后快速重新发布。