Git和Red Hat Open Shift

时间:2012-10-13 13:07:54

标签: git clone

对于RedHat Openshift,它有一个克隆到本地主机的以下说明: git clone ssh://12272296@jimX-jimsapps.rhcloud.com/~/git/jimX.git/

我想要做的是在c:/ xampp / htdocs / rhos(在我的本地主机上)创建一个文件夹

所以我尝试:(打开命令提示符并坐在C :) git clone ssh://12272296@jimX-jimsapps.rhcloud.com/~/git/xampp/htdocs/rhos.git/

我收到一个错误: 致命:协议错误:行长字符错误:Inva

您是否必须在本地计算机上克隆为jimX格式?

克隆到c:/ xampp / htdocs / rhos的命令是什么?

谢谢, 吉姆

3 个答案:

答案 0 :(得分:0)

Git FAQ mentions

  

这可能意味着您在命令模式下登录ssh时会遇到一些无关的字符,信息消息或其他内容。

要测试这个,请执行:

ssh ssh://12272296@jimX-jimsapps.rhcloud.com echo testing commands
  

您应该只看到testing commands返回   如果有任何其他字符,您应检查您的dot shell rc文件以查找可能产生输出的任何echo或其他命令。

这也是blog post的结论:

  

啊!这是我解决问题所需的信息   在我的情况下,问题实际上是我的echo.bash_profile中有一个“.bashrc”,这影响了协议。
  删除回声修复了问题。

答案 1 :(得分:0)

我刚遇到同样的问题。问题是您分配的shell,oo-trap-user执行以下检查:

# replace leading tilde (~) with user's home path
realpath = os.path.expanduser(thearg)
if not realpath.startswith(config['GEAR_BASE_DIR']):
    syslog.syslog("Invalid repository: not in openshift_root (%s) - %s: (%s)" %
                  (config['GEAR_BASE_DIR'], thearg, realpath))
    print "Invalid repository %s: not in application root" % thearg
    sys.exit(3)

因此git存储库必须位于GEAR_BASE_DIR中,只留下您的主目录。

要进行调试,请执行ssh yourmachine git-receive-pack /path/to/your/location

之类的操作

答案 2 :(得分:0)

这里的一个关键问题是Git配置文件,用于相关项目;问题是无法正确读取此文件以检索连接到存储库的必要信息。

您应确保每行只有一个参数,并且没有杂散字符或空格。如果您确实在配置文件中发现了这样的错误,那么此修复程序应该有助于缓解问题,并允许您再次访问存储库。