Trying to git pull with error: cannot open .git/FETCH_HEAD: Permission denied

GitGithubPull

Git Problem Overview


Help me please, I am trying to run this in my terminal:

asgard@asgard-A7N8X2-0:~/CollegePortal$ git pull
error: cannot open .git/FETCH_HEAD: Permission denied

Then I try this one

asgard@asgard-A7N8X2-0:~/CollegePortal$ sudo git pull
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

Help me, I don't understand this problem.

Git Solutions


Solution 1 - Git

It seems like the first one isn't working because your user doesn't have the permissions for changing that directory, and the second because your root user doesn't have the right SSH keys for accessing that git repository.

Depending on what you're trying to do, it might be better to clone the repository to a different directory, or maybe chown the current directory to have full access for your user

Solution 2 - Git

Check if you have enough permissions on the .git/ directory. You should have write permissions. You can set them with the following command.

Go to your project folder:

chown -R youruser:yourgroup .git/

Solution 3 - Git

If you want to give the permission to the group,

sudo chmod g+w .git -R

worked best for me.

For MacOS

sudo chmod -R g+w .git 

Solution 4 - Git

This is a UNIX permission problem. Do not use sudo for cloning the repository. You don't have the same ssh keys as root and you shouldn't work as root anyway. Try ls -la to find the permissions on the files and use chmod (or sudo chown) to fix them. Hope that helps.

Solution 5 - Git

In my case work fine after it:

rm -f .git/FETCH_HEAD

git branch -u

Solution 6 - Git

Try like this way,

Step 1: First check who you are? it will return current user name e.g ubuntu

$ whoami 

Step 2: Then set permission to your current user, in that case, ubuntu by

sudo chown -R ubuntu .git/

Solution 7 - Git

The answer to this issue make sure .git/FETCH_HEAD has write privileges and you will be all set.

I had this issue on Windows and it was resolved by giving write permissions.

In unix one can run chmod a+rw .git/FETCH_HEAD from the project repository after which it should work.

Solution 8 - Git

In my case, I only had read access to the .git/FETCH_HEAD file. I had to do "sudo chmod g+w .git/FETCH_HEAD" in order to be able to do a pull request.

Solution 9 - Git

I was having the first issue (FETCH_HEAD permission denied) on Windows.

I fixed it by running Git Bash as an administrator (right click, run as administrator).

Solution 10 - Git

If you haven't added yourself to the group that owns .git/, then you should.

sudo usermod -a -G $(stat -c '%G' .git) $USER
sudo chmod g+u .git -R
sudo chmod g+u .gitignore
su - $USER

What this does:

  1. finds out which group owns .git/ and adds your user to that group.
  2. makes sure group members have the same permissions as the owner for .git/.
  3. repeats this for .gitignore, which you'll probably need
  4. logs you out and back in to refresh your group membership file permissions

If you just recently did something like this (added yourself to the group that owns .git/), then you need to log out and back in before you'll be able to write to .git/FETCH_HEAD during your git pull.

Solution 11 - Git

Set permission to your current user by running the command

$ sudo chown -R <username> .git/

Solution 12 - Git

This will resolve all permissions in folder

sudo chown -R $(whoami) ./

Solution 13 - Git

Running Windows 7, when I had this issue it was because I had hidden the .git folder. The permissions were fine, it was just hidden. Showing the folder resolved it.

Solution 14 - Git

Simply go to your root folder and run this command:

chmod a+rw .git/FETCH_HEAD

Solution 15 - Git

This worked for me:

  1. Right click .git folder
  2. click get info
  3. set permission to your user
  4. click the Cog icon and click apply to enclosed items

No more permission denied errors in git.

Solution 16 - Git

Use this command, its worked for me.

> sudo chown -R $USER: .

Reference: https://techoverflow.net/2019/05/07/how-to-fix-git-error-cannot-open-git-fetch_head-permission-denied/

Solution 17 - Git

Look at the owner and group of .git directory with (first go to parent directory of .git) ll .git , look at the group and owner of the directory, add your user to group of of the owner with sudo usermod -a -G yourusername groupsofonwner, then logout => login and everything getting work.

So in summeries

  1. go to parent directory of git

    $cd your path
    
  2. find group owner of the .git direcotry

    $ll .git     
    
  3. add your user to that group

    $usermod -a -G yourusername ownergroupofgit
    
  4. Logout and login to system to this change take effect.

  5. Enjoy it ;)

Solution 18 - Git

Got that issue when .git folder is hidden and all files in it is hidden too. Make only .git folder hidden without recursive files update and it will work.

Solution 19 - Git

Reasons of this error could be multiples but in my case i updated branch with root then when i tried to update it with normal user it gives me error .

try both solutions one should work for you

1- sudo chmod g+w .git -R

if it doesn't work please try next solution hope it will solve your problem

2 - rm -f .git/FETCH_HEAD

Solution 20 - Git

This issue arises when you don't give sufficient permissions to .git folder. To solve this problem-

  1. First navigate to your working directory.

  2. Enter this command-

    >sudo chmod a+rw .git -R

Hope it helps..!!

Solution 21 - Git

Error: cannot open .git/FETCH_HEAD: Permission denied

This work for me:

  1. By default .git folder is hidden.
  2. Unhide .git folder and its child folders and file and try to pull request.

Solution 22 - Git

I had this message when using git extensions for windows. My fix was to simply close git extensions then open again as administrator

Solution 23 - Git

In my case,

> sudo chmod ug+wx .git -R

this command works.

Solution 24 - Git

I had the exact same error but in my case, the problem was the result of having rebuilt Apache after an upgrade to the PHP version. Long story short, I forgot to install the Apache module 'suexec'.

It had nothing to do with group or ownership. That only took me two days to figure out, someone shoot me...

Solution 25 - Git

In my case I had a dual-boot system (Windows 10 and Linux) with project folder on NTFS disk. It turned out that on another update Windows 10 enabled by itself "fast startup" in its settings. After I've unchecked it in the Windows - the "error: cannot open .git/FETCH_HEAD: Permission denied" in Linux was gone.

Solution 26 - Git

for MacOS user (if High Sierra or higher version) use this:

sudo chown -R $(whoami) $(brew --prefix)/*

Solution 27 - Git

Many Answers here, many suggesting doing a chown. For me was much easier to change user to the user owning the folder (in my case tomcat) as the owner was allowed to write: sudo su tomcat and than do a git pull no need to change permissions. I prefere this because I do not have to remember to change permission back after I am done.

To find the user owning the folder do a ls -la

Note: Do not give non-sudo write access to folders that are served!

Solution 28 - Git

I got this because I had more than 1 user account on my box. I was logged in as user A and was in a directory for user B. User A didn't have permission to user B's stuff. Once I realized I wasn't where I thought I was in the file system, this error made sense.

Solution 29 - Git

if you find the same problem in windows server, then you need to run the command line with enough permission, such as administrator permission.

Solution 30 - Git

When I was doing bundle install I got:

Following files may not be writable, so sudo is needed:
  /Library/Ruby/Gems/2.6.0
  /Library/Ruby/Gems/2.6.0/bin
  /Library/Ruby/Gems/2.6.0/build_info
  /Library/Ruby/Gems/2.6.0/bundler
  /Library/Ruby/Gems/2.6.0/cache
  /Library/Ruby/Gems/2.6.0/doc
  /Library/Ruby/Gems/2.6.0/extensions
  /Library/Ruby/Gems/2.6.0/gems
  /Library/Ruby/Gems/2.6.0/specifications
Fetching gem metadata from https://rubygems.org/.........
error: cannot open .git/FETCH_HEAD: Permission denied

I had followed the steps from here and updated my bash_profile to add a rbenv shim.

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

But for some unknown reason I had them commented out. Once I uncommented I was able to run bundle install successfully.

Solution 31 - Git

sudo chmod -R 777 .git or if you want to add rw permissions for only yourself, you can use sudo chmod -R +rw .git

Solution 32 - Git

My problem was with Ubuntu command line. I managed to solve it, after logging in as root.

>sudo su

>git pull

Solution 33 - Git

In my case work that: I just wrote sudo before the command :

sudo npm run deploy

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
QuestionArthur YakovlevView Question on Stackoverflow
Solution 1 - GitabyxView Answer on Stackoverflow
Solution 2 - GitRené HöhleView Answer on Stackoverflow
Solution 3 - GitWon Jun BaeView Answer on Stackoverflow
Solution 4 - GitJohannes ThomaView Answer on Stackoverflow
Solution 5 - GitshilovkView Answer on Stackoverflow
Solution 6 - GitAlways SunnyView Answer on Stackoverflow
Solution 7 - Gitpg2286View Answer on Stackoverflow
Solution 8 - GitJimView Answer on Stackoverflow
Solution 9 - GitNicholas WestbyView Answer on Stackoverflow
Solution 10 - GithobsView Answer on Stackoverflow
Solution 11 - GitShivam KohliView Answer on Stackoverflow
Solution 12 - GitPablo PapalardoView Answer on Stackoverflow
Solution 13 - GitjdfView Answer on Stackoverflow
Solution 14 - GitSuvajit ChakrabortyView Answer on Stackoverflow
Solution 15 - GitSentry.coView Answer on Stackoverflow
Solution 16 - GitSaravanan DSView Answer on Stackoverflow
Solution 17 - GitYuseferiView Answer on Stackoverflow
Solution 18 - GitOleg DmitrievView Answer on Stackoverflow
Solution 19 - GitShahbazView Answer on Stackoverflow
Solution 20 - GitNakshtra PradhanView Answer on Stackoverflow
Solution 21 - GitTrideb ChapagaiView Answer on Stackoverflow
Solution 22 - GitRob BowmanView Answer on Stackoverflow
Solution 23 - GitnarwanimonishView Answer on Stackoverflow
Solution 24 - GitVinceView Answer on Stackoverflow
Solution 25 - GitysvetView Answer on Stackoverflow
Solution 26 - Gitrony36View Answer on Stackoverflow
Solution 27 - GitRobinView Answer on Stackoverflow
Solution 28 - GitthebiggestlebowskiView Answer on Stackoverflow
Solution 29 - GitaaronView Answer on Stackoverflow
Solution 30 - GitmfaaniView Answer on Stackoverflow
Solution 31 - GitElijahView Answer on Stackoverflow
Solution 32 - GitJonas OliveiraView Answer on Stackoverflow
Solution 33 - GitАндрей ПахомовView Answer on Stackoverflow