Git: 複数アカウントで同リポジトリーで作業していると "error: insufficient permission for adding an object to repository database .git/objects" が発生する

Git

Linux サーバー上でマルチアカウントで git 使ってると稀に以下のエラーが起きる。

error: insufficient permission for adding an object to repository database .git/objects

具体的には git add したときに発生。

$ git add .
error: insufficient permission for adding an object to repository database .git/objects

error: {path}: failed to insert into database
error: unable to index file {path}
fatal: updating files failed

git pull ったタイミングかなんかで権限まわりがオカシクなったのだろう。
こちら の質問が参考になった。

めんどくさいから .git/objects 以下の権限を書き換えてしまおう。

$ sudo chmod -R 0777 .git/objects/

よし。

根本の解決である git config core.sharedRepository を利用する場合は リポジトリを後から共有できるようにする。 - kuma8の日記git で共用レポジトリを作成する – BONNOH FRACTION 14 を参考に。

参考記事

参考になるかも

入門git - Travis Swivegood

Git