owned mediaウェブ制作に役立つコンテンツを発信中!

Gitで操作した時に.git/objectsの権限エラーが発生した時の対応

先日本番サーバーにGitでデプロイしようとした時に権限に関するエラーが表示されてしまいました。これまでは問題なくできていたのが急にエラーが出たので原因がすぐにわかりませんでした、、実際には下記のようにgit pullをした際に次のようなエラーが表示されていました。
$ git pull orign master
 .................
error: insufficient permission for adding an object to repository database .git/objects
  どうやら.git配下にあるobjectsのフォルダに原因があるようです。実際にコマンドで確認すると問題が見つかりました。
# cd .git/objects/
# ls -l
 drwxrwxr-x 2 [USERNAME] [USERNAME] ......
 drwxr-xr-x 2 root root ......
 .................
  .git/objects配下にある特定のファイルが所有者がrootになっており、一般ユーザーでの書き込み権限がない状態となっていました。どうやら以前にrootユーザーでgit pullしていたのが原因かもしれません、、そこで.git/objects配下にある全てのファイルの所有者とグループを一般ユーザーに変更し、パーミッションの値も揃えておきました。
# chown -R [USERNAME]:[USERNAME] .git/objects/
# chmod -R 0775 .git/objects/
  改めて確認してみると、全てのファイルの所有者とグループが一般ユーザーになり、書き込みもできるようになりました。
# cd .git/objects/
# ls -l
 drwxrwxr-x 2 [USERNAME] [USERNAME] ......
 drwxrwxr-x 2 [USERNAME] [USERNAME] ......
 .................
  改めて、git pullをしてみると、、問題なく更新ができました!
$ git pull orign master
 .................
39 files changed, 66 insertions(+), 56 deletions(-)
 
  無意識のまま作業をしてしまうとこのような混乱が起こってしまいますね、、気をつけたいと思います。
  • はてなブックマーク
  • Pocket
  • Linkedin
  • Feedly

この記事を書いた人

Twitter

sponserd

    keyword search

    recent posts

    • Twitter
    • Github
    contact usscroll to top
      • Facebook
      • Twitter
      • Github
      • Instagram