我在git存储库上无法与我的团队在我们的局域网上合作。
推送到裸存储库时出现此错误。
我们拥有的所有基础架构都在Windows上,并且我们无法更改为linux。
我在Windows上使用git,我设法在服务器上启动一个裸存储库,然后从另外两台机器中提取该存储库,进行更改,提交它们,然后推送到裸存储库。
目前一切都很好,但我们希望有一个命令来部署我们的开发。
我发现我需要一个接收后挂钩。
所以我这样做并创建了接收后钩子,如下所示:
#!/bin/bash
git --work-tree=C:/Users/Admin/Desktop/fertitest
--git-dir=C:/Users/Admin/Desktop/fertitest.git checkout -f
我将完全控制权限添加到允许在.git目录和我要在push命令之后将代码部署到的工作目录这两个目录上推送到服务器的用户。
之后,我们可以复制我们想要的存储库
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环境上,并且是权限错误或其他错误,而不是解包错误。>
有什么可以尝试的主意吗?
答案 0 :(得分:0)
“无法创建临时目录”错误表示由于某种原因,远程计算机无法创建在推送期间隔离对象所需的临时对象目录。这通常意味着在该层次结构中创建一个或多个目录的权限失败。
您应该查看调用用户的权限,以确保他们有权在Git存储库中创建目录。当然,您的操作方式会有所不同,具体取决于远程服务器是Unix计算机还是Windows计算机。