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

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


当前回答

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

你完蛋了!

其他回答

如果要为所有回购设置此选项,请使用--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-config—全局core.filemode false

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

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

git-config—取消设置core.filemode

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

git-config-core.filemode false

这对我有用:

find . -type f -exec chmod a-x {} \;

或相反,取决于您的操作系统

find . -type f -exec chmod a+x {} \;

这可能有效:git-config-core.fileMode false

您不需要更改配置文件。

只需运行:

git diff -G.

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