git報錯permission for adding an object to repository database .git/objects

今天在使用git add . 時,發生如下情况:

1
2
3
4
error: insufficient permission for adding an object to repository database .git/objects
error: deploy.sh: failed to insert into database
error: unable to index file 'deploy.sh'
fatal: updating files failed

依據錯誤提示,應該是是.git/objects下的文件有權限問题,

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
$ cd .git/objects
$ la
drwxr-xr-x  4 fooobar  staff   128B  5 13 17:22 00
drwxr-xr-x  5 fooobar  staff   160B  5 14 01:14 01
drwxr-xr-x  3 fooobar  staff    96B  5 13 17:22 03
drwxr-xr-x  3 root      staff    96B  5 14 01:14 04
drwxr-xr-x  3 root      staff    96B  5 14 01:14 05
drwxr-xr-x  3 root      staff    96B  5 14 01:14 06
drwxr-xr-x  3 fooobar  staff    96B  5 13 17:26 07
.....

果然是使用者不同,於是將此文件下的文件改成相應的用戶和組即可:

1
$ sudo chown -Rv fooobar:staff *

問題解決啦!