如何在git中保留文件权限?

时间:2011-08-23 15:43:37

标签: database django git permissions

我遇到了一个问题,这个问题花了我很长时间才找到解决方案但仍未能找到解决方案。

当我尝试通过git将我的网站部署到Django托管时,我遇到的问题是'DatabaseError:'尝试编写一个只读数据库。

似乎git会更改我的文件的权限,从777到755。 但每当我提交我的项目时,这种变化都会持续存在。但是,我仍然需要在我的数据库(sqlite数据库)中写一些东西。

是否有人建议配置我的git以在每次提交时保留权限模式?

1 个答案:

答案 0 :(得分:11)

简而言之,你不能。

更长的时候,像etckeeper这样的项目可以自动完成,或者你可以编写一个小的钩子脚本来修复权限(这可能就是我的做法)。

例如,如果您提交了以下内容:

#!/bin/sh
chmod -R XXX file_or_directory/

例如,scripts/fix_permissions/,然后通过将其链接到服务器上的.git/hooks/post-receive将其作为post-receive挂钩运行。