gpt4 book ai didi

git - 如何在 Git 中更新文件写入权限

转载 作者:太空狗 更新时间:2023-10-29 14:22:46 26 4
gpt4 key购买 nike

背景

我将 SSH 的配置文件 checkin 存储库,该存储库由运行自动测试的系统克隆。我正在运行 Linux(我的目标机器也是如此),我不小心检查了权限字段为 664 的文件的第一个版本。OpenSSH 拒绝配置文件,因为组写权限。

我需要将文件权限位更改为 644 并提交该更改,但 Git 无法识别文件已更改。

问题

如何更新存储库中的文件写入权限?

解析尝试

  • git 添加配置 --force
    文件未添加
  • git config core.filemode true
    文件仍列为未更改
  • git rm --缓存配置
    git 显示文件已删除,但报告“git add config”后文件没有变化
  • 更改了权限位并在文件中添加了额外的一行,提交了该更改并推送了它
    在另一台机器上 pull 该更改后,出现了新的空行,但新权限没有传播 - 它们仍然是 664

其他研究

根据 this thread , Git 只会识别执行位的变化。我测试了更改执行位,并且 git 确实 识别了该更改并允许我提交它。但我不想设置执行权限位。

This SO question建议使用 git-cache-meta存储除执行位之外的权限位,但看起来该解决方案需要修改存储 repo 协议(protocol)的远程服务器,而我无法控制该服务器。

我已经咨询了以下 SO 问题,但它们没有帮助:
How to force Git to commit a file if it is recognized as unchanged
Updating file permissions only in git

还有多个关于让 Git 忽略权限位更改的问题,但答案几乎都围绕文件模式配置选项,这在这里没有帮助。

最佳答案

以下问题有答案:Git is changing my file's permissions when I push to server

那么如何更新存储库中的文件写入权限呢?您不能,因为读/写权限实际上并未存储在存储库中。

我的建议是在克隆存储库后添加一个更改权限的脚本,或者如果您有被当前权限阻止的操作,请添加一些在执行操作之前更改权限的代码。

关于git - 如何在 Git 中更新文件写入权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35049132/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com