【问题标题】:Git: can't push {n/a (unpacker error)}Git: 无法推送 {n/a (unpacker error)}
【发布时间】:2013-10-05 21:01:19
【问题描述】:

我在本地机器[Windows OS] 中创建了一个裸仓库并安装了 gitolite。

当我尝试将更改推送到裸仓库时,我收到以下错误:

$ git push origin master

Counting objects: 3, done.
Writing objects: 100% (3/3), 293 bytes, done.
Total 3 (delta 0), reused 3 (delta 0)
error: insufficient permission for adding an object to repository database ./objects

fatal: failed to write object
error: unpack failed: unpack-objects abnormal exit

To //172.16.90.196/repositories/Test.git

 ! [remote rejected] master -> master (n/a (unpacker error))

error: failed to push some refs to '//172.16.90.196/repositories/Test.git'

我用谷歌搜索了同样的错误,但到处都是权限,而且它是特定于 linux 的。谁能帮我在 Windows 操作系统上解决这个问题。

因为我是我电脑的管理员,希望权限不会是问题。

请帮助我。

【问题讨论】:

  • @Makoto : 谢谢你的回复.. 但上面的链接是指 linux 操作系统,它解释了 .git 文件夹中对象的权限。我认为这不是我的问题。

标签: windows git gitolite git-bare


【解决方案1】:

检查你的服务器,可能磁盘空间太小

【讨论】:

    【解决方案2】:

    这不是权限问题,而是 gitolite 使用问题:

    你不应该创建一个裸仓库,你应该在你的 gitolite-admin 仓库的克隆的 gitolite.conf 文件中声明一个新的仓库名称,并将该管理员仓库推回你的 gitolite 实例。
    这将触发创建一个新的 repo。

    参见“Adding and removing repos”。

    【讨论】:

    【解决方案3】:

    登录到您的推送目标机器 172.16.90.196。

    如果是 linux 机器,进入 git-directory 并更改权限,如下所示: chmod -R g+w * 也许你不在正确的 linux 用户组中,那么你可以成为该组的成员,或者你放宽所有用户的权限: chmod -R a+w * 如果您没有足够的权限执行此操作,则您(或其他人)拥有 root 权限必须 chmod。

    如果您的目标机器 172.16.90.196 是 Windows 机器,请转到 git 目录并更改您用户的权限: 右键单击目录,打开属性对话框并转到安全并为您的用户(组)添加写权限。

    【讨论】:

      【解决方案4】:
      git fsck
      git prune
      git repack
      git fsck
      

      【讨论】:

        猜你喜欢
        • 2015-09-05
        • 1970-01-01
        • 1970-01-01
        • 2018-02-12
        • 1970-01-01
        • 1970-01-01
        • 2014-07-02
        • 2012-02-25
        • 2014-01-19
        相关资源
        最近更新 更多