zoukankan      html  css  js  c++  java
  • [Git] 解决 insufficient permission for adding an object to repository database

    【环境】

    OS: CentOS 6.5

    Git: 1.7.1

    【症状描述】

      Git 中心仓库路径 ~/project.git,克隆库路径 ~/project.clone,克隆库中包含一个文件 ~/project.clone/sample.js 。

      以 guest 账号登录服务器,在某个路径下执行 grunt,在克隆库目录下得到一个新的文件 ~/project.clone/sample.js。进入克隆库目录,执行 git commit ,提交成功,推送至中心库,返回错误提示 insufficient permission for adding an object to repository database 。

      另外克隆一个库为 ~/project2.clone ,手动修改其中的 ~/project.clone/sample.js ,提交成功,推送成功。

      由此可知,问题出在由 grunt 生成的 sample.js 文件。但 grunt 也是使用 guest 账号执行,双方权限一致,为什么会出现权限不足的情况,具体原因不详,只知道可能是用户组权限出了问题。

    【解决方法】

      进入中心仓库:cd ~/project.git

      使用 sudo 更改目录权限:

    $ sudo chmod -R g+ws *
    $ sudo chgrp -R <groupname> *
    $ git repo-config core.sharedRepository true

      以上需要 sudo 权限,<groupname> 是指当前用户所处的用户组,可以使用 $ groups <username> 命令来查看。

      再次执行 grunt ,提交成功,推送成功。

  • 相关阅读:
    Redis系统管理
    Redis简介和安装
    在Azure中搭建Ghost博客并绑定自定义域名和HTTPS
    ML:单变量线性回归(Linear Regression With One Variable)
    PRML Chapter4
    Windows+Idea安装Hadoop开发环境
    包装类
    认识J2SE
    Spark基本原理
    SQL总结
  • 原文地址:https://www.cnblogs.com/ifantastic/p/3859029.html
Copyright © 2011-2022 走看看