我接管了一个项目,前一个管理员没有提供帮助,没有文档,也没有移交......我正在尝试克隆gitolite-admin repo,以便我可以将自己添加为用户。
问题是当我跑
时git clone gitolite@repo1:gitolite-admin.git
我收到错误
R access for gitolite-admin DENIED to macbook
(Or there may be no repository at the given path. Did you spell it correctly?)
fatal: The remote end hung up unexpectedly
使用包含
的服务器的conf / gitolit.conf文件repo gitolite-admin
RW+ = macbook
我的存储库包含gitolite-admin.git等,我成功运行了
git clone gitolite@repo1:wp_of_travel
当我跑步时
ssh gitolite@repo1 info
我退回了一些项目,但是gitolite-admin没有列在那里。
我的情况是无望的还是我错过了我可以重建回购并再次克隆它的东西?
如果有帮助,我确实可以完全控制服务器......
对此事的任何帮助或建议都非常受欢迎。 谢谢
答案 0 :(得分:4)
当我跑步时
ssh gitolite@repo1 info
我退回了一些项目,但是gitolite-admin没有列在那里。
这是正常的:如果macbook未在repo的gitolite.conf
中的该项目中注册(不是您自己的本地gitolite.conf
,而是当前存储在gitolite-admin.git
repo中的那个),你不会看到它列出。
如果您有权访问服务器,则可以在本地克隆gitolite-admin.git
(文件协议,此处没有ssh),添加您的名称(在您的公共ssh密钥之后),回退并运行{{1} (如果你使用的是gitolite v3),为了让gitolite更新gitolite setup
文件。
使用gitolite V2,页面 ~/.ssh/authorized_keys
:绕过gitolite-gitolite-admin repo 非常有用:
将repo克隆到某个安全位置并cd到它:
gl-admin-push
对克隆和提交进行任何您想要的更改。您可以添加新密钥,更改配置文件或任何需要修复的内容。如果这是修复可能导致您无法访问的配置问题的最简单方法,您甚至可以重置为较旧的提交(倒回)。
完成后,请使用此程序代替
代替cd /tmp git clone ~/repositories/gitolite-admin.git cd gitolite-admin
例如,使用git push <push arguments>
。git push -f
看起来之前的系统管理员已经完成了root用户和用户gitolite的安装失败,这就是为什么我感到困惑。
作为参考,一旦您知道应用它的位置,gl-admin-push -f
方法就非常简单。