我做了以下,
可能是什么问题?
这是输出:
git push origin master
Offending key for IP in /home/user01/.ssh/known_hosts:15
Matching host key in /home/user01/.ssh/known_hosts:51
Are you sure you want to continue connecting (yes/no)? yes
user01@gitserver's password: Counting objects: 2, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 317 bytes, done.
Total 2 (delta 1), reused 0 (delta 0)
error: insufficient permission for adding an object to repository database ./objects
fatal: failed to write object error: unpack failed: unpack-objects abnormal exit
答案 0 :(得分:1)
如果我理解你所要求的东西(它有点模糊), 您在设置共享git仓库时遇到问题,多个用户应该有权访问?
我认为这是某种类型的linux / unix / bsd服务器?
我在公司所做的是,我们在服务器上都有一个用户,我们的主文件夹中有一个裸存储库(用作我们工作回购的私有公共镜像)。我们有一个名为“git”的独立用户,它也是该组的成员,也被称为“git”,有一个简单的回购用作一种规范的通用回购。所有开发人员也都在“git”组中,git repo与该组共享。 (我们的私人回购在我们家里所有其他人只有读取访问权限,所以他们可以拉,但我们可以git push - 镜像到它没有问题。)
ssh配置是每个用户,我使用这个遥控器访问公共仓库:
[remote "commonRepo"]
url = ssh://<myUserName>@testServerName/~git/commonRepo.git
fetch = +refs/heads/*:refs/remotes/commonRepo/*
关于配置公钥的细节我不记得了,因为我每隔3年左右才会这样做...但是我们没有连接到“git”用户的任何ssh密钥我们使用自己的ssh密钥我们自己的用户,并依赖Linux中的组权限来访问公共仓库。
确保在服务器上正确设置病态位(或者它的callel),以便在推送到公共存储库时不会更改所有者(导致各种stange错误)