fatal: could not open '.git/COMMIT_EDITMSG': Permission denied

GithubOctopress

Github Problem Overview


I am trying to deploy octopress on github pages. I followed these instructions:

http://octopress.org/docs/deploying/github/

It all worked well until the commit part, where I get error:

> fatal: could not open '.git/COMMIT_EDITMSG': Permission denied

I am the owner of my github.io page, of course, and I never had this issue before. Why is this happening, and more importantly how do I resolve it?

Github Solutions


Solution 1 - Github

I solved it by deleting .git/COMMIT_EDITMSG. Weird, I know.

Solution 2 - Github

This is not an error message from the remote Git repository, this is a problem with your local files. You probably used git (or rake) as another user (such as root) in this same directory, and it created files which you now can't overwrite.

Simply use chown to change the ownership of the files to your current user, for instance:

chown -R $(whoami) .

Solution 3 - Github

If you are working on the bloody Microsoft Windows the error might be due to the fact that you are "watching" the hidden files in the file explorer..that´s it!

Solution 4 - Github

If you are using Windows and you are stuck with any Git permission issues, make sure your (local) repository's .git folder contents are not marked as hidden.

You can however hide the directory itself, just not it's contents (files, subdirectories).

Solution 5 - Github

another solution for Windows users: if you are using YandexDisk - and your .git folder under syncronisation - YandexDisk set hidden and readonly attributes after syncronisations. So, switch off YandexDisk and make .git folder and all subfolders and files NOT invisible and not readonly

Solution 6 - Github

This tends not to be a permissions issue.

This situation may occur when you are prompted to record a commit message when merging (for example) and you don't save and quit the text editor but you simply quit.

Git seems to assume there is still someone editting a commit message and refuses to overwrite the existing file as it would cause unexpected behaviour and loss of another commit message.

Solution 7 - Github

chmod 664 the file .git/COMMIT_EDITMSG gives it group write permissions.

In my situation the file was owned by another user who was part of my development group. Giving it group write permissions solved it.

The .git directory should be in the root of your repository.

Command (assuming you are in the .git directory):

chmod 664 COMMIT_EDITMSG 

Solution 8 - Github

If you're using TortoiseGit, you may have a Commit dialog already open

Solution 9 - Github

In my case, the reason is that the current user(A) is not COMMIT_EDITMSG file owner(B), change current user to B and commit again.

sudo su B

Solution 10 - Github

Quick note:

If you have set a file to hidden/readonly this can occur to. Try setting the whole folder to unhidden and uncheck readonly.

Solution 11 - Github

If you are using linux. go to

cd /applicationname/.git
ls -al

You will see user of COMMIT_EDITMSG file

Go to root directory

sudo su
chown youruser: COMMIT_EDITMSG

You are all set! Hope this helps

Solution 12 - Github

This happened to me cause I accidently made my repository folder hidden from windows explorer attributes option and later uncheck the hidden attribute. Probably, these actions made the .git folder files changed in some way. But deleting the COMMIT_EDITMSG file solved it later on.

Solution 13 - Github

I had a similar issue on Windows while running Visual Studio and File Explorer. Closing them resolved the issue.

Solution 14 - Github

I am using Ubuntu Linux. For some reason my COMMIT_EDITMSG file was owned by root user. I don't understand why, as it was working before, and I committed without issues.

-rw-r--r--  1 root      root           21 Απρ   3 23:06 COMMIT_EDITMSG

As other people above have said, you need to change ownership to current user. For my case it was:

sudo chown -R your_user.www-data .git

Solution 15 - Github

If you are using windows, try out one of the following methods.

  1. If the .git folder is hidden , then unhide it and its contents

  2. Go to your .git folder and delete the "COMMIT_EDITMSG" file

Solution 16 - Github

Simply run on your command line : chmod 777 -Rf /var/www/html/project-name/.git

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionuser1754606View Question on Stackoverflow
Solution 1 - GithubZenadixView Answer on Stackoverflow
Solution 2 - GithubremramView Answer on Stackoverflow
Solution 3 - GithubLaura LiparuloView Answer on Stackoverflow
Solution 4 - Githubmichael-slxView Answer on Stackoverflow
Solution 5 - GithuberrogahtView Answer on Stackoverflow
Solution 6 - GithubMenno BieringaView Answer on Stackoverflow
Solution 7 - GithubMichael DunnView Answer on Stackoverflow
Solution 8 - GithubboboboboView Answer on Stackoverflow
Solution 9 - GithubX.NaneView Answer on Stackoverflow
Solution 10 - GithubAggressorView Answer on Stackoverflow
Solution 11 - GithubViraj RajopadhyeView Answer on Stackoverflow
Solution 12 - GithubJunak KibriaView Answer on Stackoverflow
Solution 13 - GithubIlyas AssainovView Answer on Stackoverflow
Solution 14 - GithubArisView Answer on Stackoverflow
Solution 15 - GithubNuwan Harshakumara PiyarathnaView Answer on Stackoverflow
Solution 16 - GithubMd. Abu TalebView Answer on Stackoverflow