skr*_*sme 5 git version-control
我有一个 SSH 配置文件已签入存储库,该存储库由运行自动化测试的系统克隆。我正在运行 Linux(我的目标机器也是如此),并且我不小心检查了文件的第一个版本,其权限字段为 664。OpenSSH 由于组写入权限而拒绝配置文件。
我需要将文件权限位更改为 644 并提交该更改,但 Git 无法识别该文件已更改。
如何更新存储库中的文件写入权限?
根据这个线程,Git 只会识别执行位的变化。我测试了更改执行位,并且 git确实识别了该更改并允许我提交它。但我不想设置执行权限位。
这个问题建议使用git-cache-meta来存储除执行位之外的权限位,但看起来该解决方案需要修改存储存储库的远程服务器,而我无法控制该服务器。
我已经咨询了以下SO问题,但它们没有帮助:
How to Force Git to commit a file if it is recognizes as unchanged
Updating file requests only in git
还有多个关于让 Git忽略权限位更改的问题,但答案几乎都围绕 filemode 配置选项,这在这里没有帮助。
以下问题有答案:当我推送到服务器时,Git 正在更改我的文件的权限
那么如何更新存储库中的文件写入权限呢?您不能,因为读/写权限实际上并未存储在存储库中。
我的建议是添加一个在克隆存储库后更改权限的脚本,或者如果您的操作被当前权限阻止,则添加一些在执行操作之前更改权限的代码。
| 归档时间: |
|
| 查看次数: |
2946 次 |
| 最近记录: |