为了账号安全,请及时绑定邮箱和手机立即绑定

git 提交到远程分支的诡异错误

git 提交到远程分支的诡异错误

呼如林 2019-04-07 09:38:27
我想把我的本地分支push到github上的远程分支上,假设我的本地分知名是A,远程分支名也是A,我刚开始输入如下命令:gitpushoriginA:A结果报错:error:dstrefrefs/heads/Areceivesfrommorethanonesrc.error:failedtopushsomerefsto'git@github.com:ningyu/algos.git'google不到答案,我就尝试着把命令中冒号两边的空格去掉,因为有文章用的命令是没有空格的。gitpushoriginA:A结果竟然提交成功。我提交后又试了一下有空格的命令,还是同样的错误。请问大家这个是怎么回事,是真的由空格导致的吗?
查看完整描述

2 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

对于使用者来说,是由于空格导致的问题。shell中空格导致的问题不少,比如这个一个空格引发的惨剧。
对于git来说,是你的参数不对。它明明要三个参数「push」「origin」以及「A:A」的,你却给它五个:「push」「origin」「A」「:」「A」。
PS:gitpushoriginA:A可简写为gitpushorginA。
                            
查看完整回答
反对 回复 2019-04-07
?
潇湘沐

TA贡献1816条经验 获得超6个赞

请不要踩我,我怕我说的比较难理解。
我在看《精通正则表达式》时,读到一个说法,我们或许可以把空格符当作shell的元字符(且不说是分隔符),只是空格符这种元字符的作用是用来分割字符的,用来分割命令行参数的,举例说,我们写shell程序时不需要再使用args.split('\s')的方法来分割命令参数,直接取$0,$1...就可以了。
在这个问题上的话,我认为A:A应该是一个完整的一部分。
                            
查看完整回答
反对 回复 2019-04-07
  • 2 回答
  • 0 关注
  • 583 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号