我以管理员身份登录我的服务器(而不是Git用户,这可能是一个错误),并做了:
mv oldrepo.git newrepo.git
然后,我编辑了gitolite.conf,来自......
repo oldrepo
RW+ = id_rsa
...到......
repo newrepo
RW+ = id_rsa
...并将其推送到gitolite-admin repo。
现在,当我尝试推送到newrepo时,我收到以下错误(使用Git Extensions):
" C:\ Program Files(x86)\ Git \ bin \ git.exe" push --recurse-submodules = check --progress" origin"参考文献/头/主:参/头/主
致命:任何由fallthru拒绝的newrepo id_rsa (或者你拼错了地名) 致命的:无法从远程存储库读取。
请确保您拥有正确的访问权限 并且存储库存在。 完成
我仍然可以推送到我所有的其他存储库,没问题。
我做了什么?
答案 0 :(得分:1)
听起来像你移动回购是可能这个问题。我会跳回服务器并使用newrepo.git
检查ls -l
的所有者。
如果newrepo.git
和/或它包含的文件归root(或您的管理员帐户)所有,您可以以root用户身份运行(或使用sudo)
chown -R git newrepo.git
之后,ls -l
应该表明它是由git拥有的,而不是root。
如果这不是问题,我会使用git remote -v
在本地计算机上仔细检查您的遥控器,并确保~/.ssh/config
文件中没有任何奇怪的内容。
答案 1 :(得分:1)
仔细检查move/rename process with Gitolite:
重命名回购也不是自动的。这是你做的(订单很重要):
- 转到服务器并在Unix命令行重命名repo 不要忘记保留"
.git
"目录名称的扩展名。- 更改gitolite-admin repo clone中
醇>conf/gitolite.conf
文件中的名称,然后添加/ commit / push。
我现在已经开始工作了(通过重新安装Gitolite并再次完成设置程序),我怀疑以管理员身份登录并影响重命名会导致问题。