简体   繁体   中英

How to preserve the file permission in git?

I encountered a problem which took me a long time to find a solution and still fail to get one.

The problem I had is 'DatabaseError: 'attempt to write a readonly database' when I tried to deploy my website through git to a Django hosting.

It seems like git will change the permission of my files, from 777 to 755. But whenever I commit my project, this change will persist. However, I still need to write something into my database (sqlite database).

Does anyone have a suggestion to configure my git to preserve the permission mode at each commit?

In short, you can't.

In longer, there are projects like etckeeper which can do it automatically, or you can write a small hook script which will fix up the permissions (which is probably how I'd do it).

For example, if you commit something this:

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

To, eg, scripts/fix_permissions/ , then run it as a post-receive hook by simlinking it into .git/hooks/post-receive on the server.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM