我在 git 存储库与我们的 LAN 网络上的团队合作时遇到了麻烦。
推送到我的裸存储库时出现此错误。
我们拥有的基础设施都是在 Windows 上的,我们无法更改为 linux。
我在 Windows 上使用 git,我设法在服务器上启动了一个裸存储库,然后从另外两台机器上提取存储库,进行更改,提交它们并推送到裸存储库。
此时一切都很好,但我们希望有一个命令来部署我们的开发。
我发现我需要一个接收后挂钩。
所以我做了并创建了 post-receive 钩子,看起来像这样:
#!/bin/bash
git --work-tree=C:/Users/Admin/Desktop/fertitest
--git-dir=C:/Users/Admin/Desktop/fertitest.git checkout -f
我将完全控制权限添加到允许在 .git 一个目录和我想要在推送命令后部署代码的工作目录上向服务器推送的用户。
之后,我们可以制作我们想要的存储库的副本
git clone //SERVER/fertitest.git
添加文件并提交
git add *
git commit -a -m "first stage"
但是当我们试图推动
git push origin master
我们收到下一个错误:
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 263 bytes | 263.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
error: remote unpack failed: unable to create temporary object directory
To //CENTRAL/Users/Administrador/Desktop/fertipruebas.git
! [remote rejected] master -> master (unpacker error)
error: failed to push some refs to
'//SERVER/fertitest.git'
我被困在这一步,我找不到错误在哪里,我试图找到这个,但我发现的一切都是在 Linux 环境中,并且是权限错误或其他东西,而不是解包器错误。
知道我可以尝试什么吗?