Git扩展:重命名后无法推送到repo(gitolite)
我以管理员身份(而不是Git用户身份,这可能是一个错误)登录到我的服务器,并执行了以下操作:Git扩展:重命名后无法推送到repo(gitolite),git,gitolite,git-extensions,Git,Gitolite,Git Extensions,我以管理员身份(而不是Git用户身份,这可能是一个错误)登录到我的服务器,并执行了以下操作: mv oldrepo.git newrepo.git 然后,我编辑了gitolite.conf,来自 repo oldrepo RW+ = id_rsa 。。。到 repo newrepo RW+ = id_rsa 。。。并将其推给gitolite管理报告 现在,当我尝试推送到newrepo时,我得到了以下错误(使用Git扩展): “C:\ProgramFi
mv oldrepo.git newrepo.git
然后,我编辑了gitolite.conf,来自
repo oldrepo
RW+ = id_rsa
。。。到
repo newrepo
RW+ = id_rsa
。。。并将其推给gitolite管理报告
现在,当我尝试推送到newrepo时,我得到了以下错误(使用Git扩展):
“C:\ProgramFiles(x86)\Git\bin\Git.exe”推送--recurse子模块=检查--progress“origin”refs/heads/master:refs/heads/master 致命:任何newrepo id\u rsa被fallthru拒绝 (或者你拼错了名字) 致命:无法从远程存储库读取 请确保您拥有正确的访问权限 并且存储库存在。 完成
我仍然能够推送到我的所有其他存储库,很好,没有问题
我做了什么?听起来,你可能是在移动回购协议。我会跳回到服务器上,用
ls-l
检查newrepo.git
的所有者
如果newrepo.git
和/或其包含的文件归root(或您的管理员帐户)所有,您可以以root(或sudo)身份运行此文件
之后,ls-l
应该显示它是git所有的,而不是root所有的
如果不是这个问题,我会在本地计算机上用git remote-v
仔细检查您的遥控器,并确保~/.ssh/config
文件中没有任何奇怪的地方。仔细检查:
重新命名回购协议也不是自动的。以下是您要做的事情(顺序很重要):
不要忘记在目录名上保留“
.git
”扩展名conf/gitolite.conf
文件中的名称,然后添加/commit/push它们都归git所有。去他妈的,我只是要完全重新安装gitolite,并重新制作我所有的回购协议(在互联网上其他地方听从别人的建议后,我再也无法推动回购协议了)。这将比再次尝试处理Git的特性和隐秘的UNIX命令行和文件更快、更少痛苦。谢谢,伙计们。你们仔细看过我的问题了吗?这正是我所做的。@MiloDC我同意,唯一的区别是你在操作中使用的帐户。是的,虽然我现在已经让它工作了(通过重新安装Gitolite并再次执行设置过程),但我怀疑以管理员身份登录并实现重命名会导致问题。仅供参考,您显示的这部分消息:“致命:无法从远程存储库读取。”不是来自gitolite;显然存在操作系统权限问题。
chown -R git newrepo.git