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 ,提交成功,推送成功。

  • 相关阅读:
    扩展中国剩余定理学习笔记
    寻找宝藏
    卢卡斯定理学习笔记
    [国家集训]矩阵乘法
    中国剩余定理学习笔记
    [CTSC2018]混合果汁
    数据结构(C语言版)第二章2.82.11 动态链表
    数据结构(C语言版)第二章2.12.7
    C语言中换行符和回车符的区别(转)
    C的xml编程libxml2(转摘)
  • 原文地址:https://www.cnblogs.com/ifantastic/p/3859029.html
Copyright © 2011-2022 走看看