Git push error: Unable to unlink old (Permission denied)
git, git-checkout, git-push
Solution
When you have to unlink file, you have to have permission 'w' for directory, in which file is, not for the file...
Problem
In the remote server I have a post-receive hook set up in order to make a git checkout of my repository: ``` #!/bin/sh GIT_WORK_TREE=/var/www/<website> git checkout -f ``` But when I make a push from my local machine to the git repository in the server, I get the following error messages: ``` remote: error: unable to unlink old '<file>' (Permission denied) ``` This appears many times over, one error message for almost every file. However I have a README.txt file that I'm able to change using git, here are its permissions: ``` -rw-r--r-- 1 <serverusername> <serverusername> 2939 Aug 2 10:58 README.txt ``` But other files with exactly the same owner and same permissions, give me that error. In another local repository for another website, I have the files with my local machine username as owner, and when I push to the remote server it respects the remote server owner of the files and works like a charm. Obviously it seems a permissions related error, but I can't find a way to fix it, any suggestions?