对于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的命令是什么?
谢谢, 吉姆
答案 0 :(得分:0)
这可能意味着您在命令模式下登录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配置文件,用于相关项目;问题是无法正确读取此文件以检索连接到存储库的必要信息。
您应确保每行只有一个参数,并且没有杂散字符或空格。如果您确实在配置文件中发现了这样的错误,那么此修复程序应该有助于缓解问题,并允许您再次访问存储库。