当文件权限模式改变时 git 如何工作

当文件权限模式改变时 git 如何工作

我通过命令更改了文件模式chmod +111 file.txt,然后检查了 GIT 状态,结果显示:

在 master 分支上,尚未暂存提交的更改:(使用“git add ...”来更新将要提交的内容)(使用“git checkout -- ...”放弃工作目录中的更改)

    modified:   file.txt

没有添加任何更改来提交(使用“git add”和/或“git commit -a”)

然后我提交了更改,但此后它不再考虑文件权限更改,因为即使更改权限级别也+777显示

在主分支上没有什么可提交的,工作树已清理

为什么不再考虑文件权限?

答案1

Git 只跟踪一位权限:可执行或不可执行。

你没有说出你的意思恰恰“它停止考虑文件权限的改变”,但我最好的猜测是你没有改变可执行权限,所以从 Git 的角度来看,没有变化考虑进去。

答案2

我怀疑您已将 git filemode 设置为 false,但您希望它变为 true。

显示 git 文件模式:

git config --get --local core.filemode

或者

git config --get --global core.filemode

值:

true:git 跟踪文件所有者的可执行位。

false:git 没有跟踪它。

参考:https://medium.com/@tahteche/how-git-treats-changes-in-file-permissions-f71874ca239d

相关内容