你能帮助我理解为什么我的简单启动项目不起作用吗?我正在使用Windows XP,从Git-1.8.1.2-preview20130201.exe安装Git。我正在使用随安装提供的Git Bash。
在网络驱动器上,我执行以下操作:
cd /k/repos
mkdir LV_Libraries.git
cd LV_Libraries.git
git init --bare
在我当地的项目副本中:
git init
git add *
git commit -m "Initial Commit"
git remote add origin /k/repos/LV_Libraries.git
git push origin master
推送失败说,
"remote: error: unable to write sha1 filename ./objects/pack/pack-b69cd03c4c ... .pak: Permission denied"
"Remote: fatal: cannot store pack file"
"Error: unpack failed: index-pack abnormal exit"
"To k:/repos/LV_Libraries.git
! [remote rejected] master -> master (unpacker error)"
我最初认为它可能是一个文件权限的东西,但我没有问题通过我的终端写入或读取文件到网络驱动器。有没有人有任何想法?
答案 0 :(得分:1)
听起来您遇到类似于此问题git: can't push (unpacker error) related to permission issues的问题,即k:磁盘上的权限问题,可能与用户权限有关。
您是否检查过K上文件夹的UNC路径的确切权限?
答案 1 :(得分:1)
尝试通过Mac OS X计算机上托管的Samba共享从Windows计算机推送更改时遇到此问题。我通过在Mac OS X机器上初始化SSH服务器,然后在Windows机器上通过SSH再次克隆项目来解决这个问题。因此,来自Windows机器的所有后续推送都运行良好,没有任何错误。
当我通过Git GUI for Windows检出项目时,我对存储库使用了以下语法:
ssh://username@machost_ip:full_path_to_project
用户名是用于创建项目的用户名,machost_ip
是我局域网上Mac OS X机器的IP地址,full_path_to_project
是origin/master
的完全限定Unix路径{1}} Git项目。
即使在更改组权限后,我也没有成功继续使用共享驱动器。虽然,我确信用户名可以是分配给该组的用户的用户名,该用户对之前的答案中指定的项目具有写权限。
答案 2 :(得分:1)
我删除了我的git存储库,然后用
重新创建它git init --bare --shared
这解决了我的问题。其他答案提到为shared和bare设置配置,但我发现只重新创建存储库有帮助。
答案 3 :(得分:0)
你有CRLF设置吗?
在玩这些设置时,我设法生成一个导致问题与您的问题相同的更改。最后,我创建了一个远程仓库的新克隆,并慢慢将我的更改合并到它。
答案 4 :(得分:0)
我昨天遇到了同样的错误。我只是尝试使用Git Bash 2.9.2将一个Big Git存储库克隆到我的本地Windows机器上。
在杀死大量时间并阅读上述答案之后。我以管理员身份运行Git Bash,它就像一个魅力。我能够克隆存储库。不确定是什么问题,我想这很可能与许多人指出的权限有关。