我遇到了一个问题,花费了很长时间去寻找解决方案,但仍然没有得到答案。
我的问题是:当我试图通过git将我的网站部署到Django托管时,出现了“DatabaseError:尝试写入只读数据库”的错误。
看起来像是git会改变我的文件权限,从777变为755。但是,每当我提交我的项目时,这种变化就会持续存在。然而,我仍然需要向我的数据库(sqlite数据库)中写入一些内容。
是否有人有建议来配置我的git以保留每次提交的权限模式?
我遇到了一个问题,花费了很长时间去寻找解决方案,但仍然没有得到答案。
我的问题是:当我试图通过git将我的网站部署到Django托管时,出现了“DatabaseError:尝试写入只读数据库”的错误。
看起来像是git会改变我的文件权限,从777变为755。但是,每当我提交我的项目时,这种变化就会持续存在。然而,我仍然需要向我的数据库(sqlite数据库)中写入一些内容。
是否有人有建议来配置我的git以保留每次提交的权限模式?
简单来说,你做不到。
更详细地说,有像etckeeper这样的项目可以自动完成,或者你可以编写一个小挂钩脚本来修复权限(这可能是我会选择的方法)。
例如,如果你提交了这个:
#!/bin/sh
chmod -R XXX file_or_directory/
将脚本(例如:scripts/fix_permissions/
)放置在服务器上的 .git/hooks/post-receive
目录下,并通过符号链接将其作为 post-receive 钩子运行。