13

I am trying to remove whole git repository from my local machine, but git prohibits to delete several files.

I've tried:

  1. rm -r folder
  2. It asked me do I want to delete some write-protected files? I've asked y.
  3. Following message appeared:

    rm: cannot remove ‘.git/objects/08/fa4fcd8413b84a1605e1c4866cb2493daf4c4e’: Operation not permitted
    rm: cannot remove ‘.git/objects/96/de4fe9aa42239290cae341427649f2afbdab16’: Operation not permitted
    rm: cannot remove ‘.git/objects/fd/ed37600b5fe66e1a0d0e4355b387e56ca2638e’: Operation not permitted
    rm: cannot remove ‘.git/objects/pack/pack-cb277ab3b4a3510209a9784a76760e6281da5218.idx’: Operation not permitted
    rm: cannot remove ‘.git/objects/pack/pack-cb277ab3b4a3510209a9784a76760e6281da5218.pack’: Operation not permitted
    

The ls command showed that all local files were deleted. Then I tried sudo rm -r .git from that folder - same result.

Help me please delete that folder.

kenorb
  • 155,785
  • 88
  • 678
  • 743
Danny Ocean
  • 1,081
  • 2
  • 14
  • 30

4 Answers4

36
  1. Close any git clients that might be running.

  2. Set the permissions to delete first:

    chmod -R 777 folder
    
  3. Try to force the deletion:

    rm -rf folder
    
kenorb
  • 155,785
  • 88
  • 678
  • 743
Phillip Ngan
  • 15,482
  • 8
  • 63
  • 79
3

So I figured it out. The problem was that on my host machine (windows 7 x64) this folder was allowed to read only. I disabled it, and removed it from the host machine. Sorry for not saying that it was mounted, and thanks for all replies : )

Danny Ocean
  • 1,081
  • 2
  • 14
  • 30
3

The following command may help:

chmod -R u+w folder/

Also make sure you own all the files which you're trying to remove:

chown -R $USER folder/

On Linux it may be also a file attribute (check by lsattr):

chattr -R -AacdDijsStu folder/
kenorb
  • 155,785
  • 88
  • 678
  • 743
2

In my case, for some reason the user immutable flag (uchg) was switched on for everything in the .git folder. This fixed it:

chflags -R nouchg folder/

I could then delete with rm -rf folder/.

Stephen S
  • 61
  • 5