8

你能帮我理解为什么我的简单启动项目不起作用吗?我使用的是 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)"

我最初认为这可能是文件权限的问题,但我通过终端向网络驱动器写入或读取文件没有问题。有没有人有任何想法?

4

5 回答 5

1

我删除了我的 git 存储库,然后用

git init --bare --shared

这为我解决了这个问题。其他答案提到为共享和裸机设置配置,但我发现只有重新创建存储库才有帮助。

于 2015-01-27T10:40:13.193 回答
1

我在尝试通过托管在 Mac OS X 机器上的 Samba 共享从 Windows 机器推送更改时遇到了这个问题。我通过在 Mac OS X 机器上初始化 SSH 服务器然后在 Windows 机器上通过 SSH 再次克隆项目来解决这个问题。因此,Windows 机器的所有后续推送都运行良好,没有任何错误。

当我通过适用于 Windows 的 Git GUI 签出项目时,我对存储库使用了以下语法:

ssh://username@machost_ip:full_path_to_project

用户名是用于创建项目的用户名,machost_ip是我的局域网上 Mac OS X 机器的 IP 地址,是Git 项目 full_path_to_project的完全限定的 Unix 路径。origin/master

即使在更改组权限后,我也没有成功继续使用共享驱动器。虽然,我确信用户名可能是分配给组的用户的用户名,该用户具有对项目的写入权限,如先前答案中指定的那样。

于 2014-05-22T18:20:01.977 回答
1

听起来您遇到了与此问题git: can't push (unpacker error) 有关的权限问题类似的问题,即 k: 磁盘上的权限问题,可能与用户权限有关。

您是否检查过您在 K: 上的文件夹的 UNC 路径上拥有的确切权限?

于 2013-03-25T19:42:30.507 回答
0

有你的 CRLF 设置吗?

在玩弄这些设置时,我设法生成了一个导致与您的问题相同的更改。最后,我创建了远程 repo 的新克隆,并将我的更改慢慢合并回它。

于 2014-03-07T09:46:55.050 回答
0

我昨天遇到了同样的错误。我只是想使用 Git Bash 2.9.2 将一个 Big Git 存储库克隆到我的本地 Windows 机器。

在花费大量时间并阅读上述答案之后。我以管理员身份运行 Git Bash,它就像一个魅力。我能够克隆存储库。不确定是什么问题,我想这很可能与许多人指出的权限有关。

于 2017-01-12T09:23:35.587 回答