When you say that you do not have editing rights - what exactly do you mean?
Note. I ran these terminal commands after fixing the problem using chmod
This means that the result does not help. All of these permissions show:
kirkstrobeck:atheycreek kirkstrobeck$ ls -lad ~ . .git drwxrwxrwx 8 kirkstrobeck staff 272 May 24 18:20 . drwxrwxrwx 16 kirkstrobeck staff 544 May 25 10:58 .git drwxr-xr-x+ 92 kirkstrobeck staff 3128 May 24 15:17 /Users/kirkstrobeck
is that you have edit permissions for all of the above - you can expect it if you previously ran chmod -R 777 . in folder.
More relevant permissions are files and folders for the things you are trying to edit. With a specific example of a command, generated errors and permissions of the corresponding files, a concrete answer will come if there is no educated work:
Perms entry is not a git issue
Git does not store folders at all and only saves executable file permissions. you can demonstrate it to yourself as follows:
[ andy@work :/tmp/so/original]$ git init [ andy@work :/tmp/so/original]$ touch 0700 [ andy@work :/tmp/so/original]$ touch 0600 [ andy@work :/tmp/so/original]$ touch 0500 [ andy@work :/tmp/so/original]$ touch 0400 [ andy@work :/tmp/so/original]$ chmod 0700 0700 [ andy@work :/tmp/so/original]$ chmod 0600 0600 [ andy@work :/tmp/so/original]$ chmod 0500 0500 [ andy@work :/tmp/so/original]$ chmod 0400 0400 [ andy@work :/tmp/so/original]$ git add * [ andy@work :/tmp/so/original]$ git commit -va [master (root-commit) a304e1b] adding files with the named permissions 0 files changed create mode 100644 0400 create mode 100755 0500 create mode 100644 0600 create mode 100755 0700 [ andy@work :/tmp/so/original(master)]$ ls -la total 12 drwxr-xr-x 3 andy users 4096 May 28 14:51 . drwxr-xr-x 3 andy users 4096 May 28 14:48 .. -r-------- 1 andy users 0 May 28 14:48 0400 -rx------ 1 andy users 0 May 28 14:48 0500 -rw------- 1 andy users 0 May 28 14:48 0600 -rwx------ 1 andy users 0 May 28 14:48 0700 drwxr-xr-x 8 andy users 4096 May 28 14:51 .git
The file permissions given above (with ls -la ) include both numbers (file names) and reading, writing, and perms (on the left). Only two files 0500 and 0700 have executable permissions.
[ andy@work :/tmp/so/checkout]$ git init Initialized empty Git repository in /tmp/so/checkout/.git/ [ andy@work :/tmp/so/checkout]$ git pull ../original/ remote: Counting objects: 3, done. remote: Compressing objects: 100% (2/2), done. remote: Total 3 (delta 0), reused 0 (delta 0) Unpacking objects: 100% (3/3), done. From ../original * branch HEAD -> FETCH_HEAD [ andy@work :/tmp/so/checkout(master)]$ ls -la total 12 drwxr-xr-x 3 andy users 4096 May 28 14:52 . drwxr-xr-x 4 andy users 4096 May 28 14:52 .. -rw-r--r-- 1 andy users 0 May 28 14:52 0400 -rwxr-xr-x 1 andy users 0 May 28 14:52 0500 -rw-r--r-- 1 andy users 0 May 28 14:52 0600 -rwxr-xr-x 1 andy users 0 May 28 14:52 0700 drwxr-xr-x 8 andy users 4096 May 28 14:52 .git [ andy@work :/tmp/so/checkout(master)]$
The above indicates that checkout has default permissions for files (those dictated by umask ), with the addition of an executable file if it was executed as an executable file.
The knowledge above should help you focus on where the real problem lies.
Fix file permissions
If your check has incorrect permissions, you can correct them with the following command:
Double check that for the files mentioned in any error message you have; now the file permissions are 0644, and the folder is 0755.
With file fixes fixed, you should be good to go.
Please note that you need executable permissions for folders in order to be able to find and manage content. If you don't have the perms executable in the folder, you will get permission errors doing almost anything in it. But, again, git does not save folders at all, it is not git-related if this is a problem.
If this made any changes to your repo, you can transfer them using:
git commit -am "Resetting file permissions to their default values"
It will only be making changes to the executable property of the files, and this is just a cleaning step - not fixing anything that could cause rights issues for another user checking the repo.
Ignoring file permissions
If you want your check to completely ignore the permissions that apply to your design, you can use:
git config core.fileMode false
this way git will not consider changes to file permissions that you apply to your design as commit changes - but this is unlikely to be relevant given the information available.