gitolite push error - > remote:ENV GL_RC未设置

ama*_*ntu 10 git git-svn msysgit gitolite

我正在尝试将内容从工作站推送到服务器.但它给了我一个错误.请查看以下命令和错误:

Administrator@ganesh ~/testing  
$ git push origin master  
Counting objects: 3, done.  
Writing objects: 100% (3/3), 241 bytes, done.  
Total 3 (delta 0), reused 0 (delta 0)  
remote: ENV GL_RC not set  
remote: BEGIN failed--compilation aborted at hooks/update line 20.  
remote: error: hook declined to update refs/heads/master  
To git@ganesh:repositories/testing  
 ! [remote rejected] master -> master (hook declined)  
error: failed to push some refs to 'git@ganesh:repositories/testing'  
Run Code Online (Sandbox Code Playgroud)

看来我需要设置环境变量GL_RC.是这样吗?

这里的任何人都可以告诉我问题可能是什么以及我如何解决它?我在Windows Server 2003上使用gitolite.

Von*_*onC 9

如doc ssh故障排除中所示,这可能是由克隆过程中的错误路径引起的.

文档(下面的某些部分仅对Gitolite V2有效)提到:

第二个错误

(即"你能够克隆存储库但无法推回更改(错误抱怨GL_RC未设置环境变量,并且钩子/更新以某种方式失败)

如果您使用git@server:repositories/reponame.git(假设默认值)$REPO_BASE设置 - 在Gitolite V3中,它总是如此~/repositories) - 也就是说,你使用了完整的unix路径.
由于上面提到的"前缀"不是必需的,因此shell会发现repo和clone正常.
但是当你推动时,gitolite的更新钩子会启动,并且无法运行,因为它所期望的某些环境变量不存在.

成功运行"易安装"程序时出现的消息显然包含以下警告:

*Your* URL for cloning any repo on this server will be
        gitolite:reponame.git

    *Other* users you set up will have to use
        <user>@<server>:reponame.git
    However, if your server uses a non-standard ssh port, they should use
        ssh://<user>@<server>:<port>/reponame.git
Run Code Online (Sandbox Code Playgroud)

所以在你的情况下,你必须克隆你的回购:

git clone git@ganesh:repositories/testing.git
Run Code Online (Sandbox Code Playgroud)

代替:

git@ganesh:testing.git
Run Code Online (Sandbox Code Playgroud)

  • @VonC:谢谢你的回答.你说我做的是对的.但是当我尝试使用`git clone git @ganesh:testing.git`克隆存储库时,它给出了''testing.git似乎不是一个git存储库'**我没有得到确切的错误或我如何纠正它.你能给我一些建议吗?谢谢 (3认同)