我有一个项目,在开发时,我必须将chmod文件的模式更改为777,但在主库中不应更改。
Git拿起了chmod-R777。并将所有文件标记为已更改。有没有办法让Git忽略对文件所做的模式更改?
我有一个项目,在开发时,我必须将chmod文件的模式更改为777,但在主库中不应更改。
Git拿起了chmod-R777。并将所有文件标记为已更改。有没有办法让Git忽略对文件所做的模式更改?
当前回答
如果要在配置文件中递归地(包括子模块)将filemode设置为false:find-name config | xargs sed-i-e's/filemode=true/filemode=false/'
其他回答
If
git config --global core.filemode false
不适用于您,请手动执行:
cd into yourLovelyProject folder
cd到.git文件夹:
cd .git
编辑配置文件:
nano config
将true更改为false
[core]
repositoryformatversion = 0
filemode = true
->
[core]
repositoryformatversion = 0
filemode = false
保存,退出,转到上层文件夹:
cd ..
勒紧吉特
git init
你完蛋了!
通过定义以下别名(在~/.gitconfig中),您可以轻松地临时禁用fileMode per git命令:
[alias]
nfm = "!f(){ git -c core.fileMode=false $@; };f"
如果在git命令前面加上此别名,则文件模式更改不会显示在其他命令中。例如:
git nfm status
简单的解决方案:
在项目文件夹中单击此简单命令(它不会删除原始更改)。。。它只会删除在您更改项目文件夹权限时所做的更改
命令如下:
git-config-core.fileMode false
为什么修改这些不必要的文件:因为您已更改项目文件夹权限带着赞扬sudo chmod-R 777/您的项目文件夹
你什么时候检查你没有做的更改?您在使用gitdiff文件名时发现如下
old mode 100644
new mode 100755
这对我有用:
find . -type f -exec chmod a-x {} \;
或相反,取决于您的操作系统
find . -type f -exec chmod a+x {} \;
您可以全局配置它:
git-config—全局core.filemode false
如果上述方法不适用于您,原因可能是您的本地配置覆盖了全局配置。
删除本地配置以使全局配置生效:
git-config—取消设置core.filemode
或者,您可以将本地配置更改为正确的值:
git-config-core.filemode false