我有一个项目,在开发时,我必须将chmod文件的模式更改为777,但在主库中不应更改。
Git拿起了chmod-R777。并将所有文件标记为已更改。有没有办法让Git忽略对文件所做的模式更改?
我有一个项目,在开发时,我必须将chmod文件的模式更改为777,但在主库中不应更改。
Git拿起了chmod-R777。并将所有文件标记为已更改。有没有办法让Git忽略对文件所做的模式更改?
当前回答
您可以全局配置它:
git-config—全局core.filemode false
如果上述方法不适用于您,原因可能是您的本地配置覆盖了全局配置。
删除本地配置以使全局配置生效:
git-config—取消设置core.filemode
或者,您可以将本地配置更改为正确的值:
git-config-core.filemode false
其他回答
添加到Greg Hewgill答案(使用core.fileMode配置变量):
您可以使用git更新索引(“gitadd”的低级版本)的--chmod=(-|+)x选项来更改索引中的执行权限,如果您使用“gitcommit”(而不是“gitcommit-a”),将从中获取执行权限。
如果要为所有回购设置此选项,请使用--global选项。
git config --global core.filemode false
如果这不起作用,您可能使用的是更新版本的git,所以请尝试--add选项。
git config --add --global core.filemode false
如果在没有--global选项的情况下运行它,并且工作目录不是repo
error: could not lock config file .git/config: No such file or directory
您不需要更改配置文件。
只需运行:
git diff -G.
注意,后面的点不是句子的结尾,而是匹配所有内容的正则表达式,必须包含在内。
简单的解决方案:
在项目文件夹中单击此简单命令(它不会删除原始更改)。。。它只会删除在您更改项目文件夹权限时所做的更改
命令如下:
git-config-core.fileMode false
为什么修改这些不必要的文件:因为您已更改项目文件夹权限带着赞扬sudo chmod-R 777/您的项目文件夹
你什么时候检查你没有做的更改?您在使用gitdiff文件名时发现如下
old mode 100644
new mode 100755
如果设置:sudo chmod 777-R
可以运行:git-config-core.fileMode false
你可以:https://www.w3docs.com/snippets/git/how-to-make-git-ignore-file-mode-changes.html