当前位置:  开发笔记 > 运维 > 正文

Git:不能从一台电脑上推

如何解决《Git:不能从一台电脑上推》经验,为你挑选了2个好方法。

我的一个同事正在解决他的机器上的git变更问题.如果他登录到另一台机器,他可以推得很好 - 但是从他的机器,当他试图推动他得到以下错误

    D:\Projects\test1\best-practices>git push
    Counting objects: 4, done.
    Compressing objects: 100% (2/2), done.
    Writing objects: 100% (3/3), 273 bytes, done.
    Total 3 (delta 1), reused 0 (delta 0)
    error: unable to create temporary sha1 filename ./objects/42: Permission denied

    fatal: failed to write object
    error: unpack failed: unpacker exited with error code
    To //civ3s012/gitrepos/best-practices/.git
     ! [remote rejected] master -> master (n/a (unpacker error))
    error: failed to push some refs to '//civ3s012/gitrepos/best-practices/.git'

服务器是一台Windows机器,客户端也是如此.没有其他人遇到这个问题 - 这似乎是一个服务器权限问题,但我们已经根据我们的判断排除了这一点.此外,他可以使用相同的用户名登录到另一台计算机并进行推送,这使得它看起来不是服务器权限.有什么想法可能会出错吗?



1> Pat Notz..:

我不是一个Windows用户,所以我在这里的黑暗中刺了一下.它看起来像是挂载了远程文件系统,你只是推动它(不使用ssh://或git://).这个FS以某种方式安装只读吗?他可以在那里(外面git)创建/修改文件吗?



2> Paul..:

尝试将此配置变量添加到远程存储库:

 $ git config core.sharedRepository "all"
 $ git config receive.denyNonFastForwards True

这些通常由设置回购时的--shared选项git init设置.

我不知道Windows权限如何交互,所以我不确定这是解决方案.但我知道有时Linux用户可以用这种方式创建具有Git远程失败权限的文件.它发生在他们属于适当的群体但没有作为他们的主要群体时.设置repo共享来all解决这个问题.

这似乎发生在从SVN或CVS导入的共享存储库中.

推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有