我有一个项目,在开发时,我必须将chmod文件的模式更改为777,但在主库中不应更改。

Git拿起了chmod-R777。并将所有文件标记为已更改。有没有办法让Git忽略对文件所做的模式更改?


当前回答

您不需要更改配置文件。

只需运行:

git diff -G.

注意,后面的点不是句子的结尾,而是匹配所有内容的正则表达式,必须包含在内。

其他回答

您可以全局配置它:

git-config—全局core.filemode false

如果上述方法不适用于您,原因可能是您的本地配置覆盖了全局配置。

删除本地配置以使全局配置生效:

git-config—取消设置core.filemode

或者,您可以将本地配置更改为正确的值:

git-config-core.filemode false

通过定义以下别名(在~/.gitconfig中),您可以轻松地临时禁用fileMode per git命令:

[alias]
nfm = "!f(){ git -c core.fileMode=false $@; };f"

如果在git命令前面加上此别名,则文件模式更改不会显示在其他命令中。例如:

git nfm status

添加到Greg Hewgill答案(使用core.fileMode配置变量):

您可以使用git更新索引(“gitadd”的低级版本)的--chmod=(-|+)x选项来更改索引中的执行权限,如果您使用“gitcommit”(而不是“gitcommit-a”),将从中获取执行权限。

您不需要更改配置文件。

只需运行:

git diff -G.

注意,后面的点不是句子的结尾,而是匹配所有内容的正则表达式,必须包含在内。

如果设置:sudo chmod 777-R

可以运行:git-config-core.fileMode false

你可以:https://www.w3docs.com/snippets/git/how-to-make-git-ignore-file-mode-changes.html