繁体   English   中英

为什么git pull origin branchA不能工作,而pull origin branchA可以工作?

[英]Why git pull origin branchA:branchA can't work and pull origin branchA can work?

我的git动作如下:

git pull origin mybranch1.3.3:mybranch1.3.3 ------>它拒绝了,告诉我mo-fast-forwrd

git pull origin mybranch1.3.3 -------->效果很好。

有什么区别? 最后一个“ mybranch1.3.3”不是我的本地分支吗?

springdeiMac:myApp qiushuitian$ git pull origin mybranch1.3.3:mybranch1.3.3
remote: Counting objects: 196, done.
remote: Compressing objects: 100% (94/94), done.
remote: Total 95 (delta 61), reused 0 (delta 0)
Unpacking objects: 100% (95/95), done.
From 192.168.1.39:myApp
 ! [rejected]        mybranch1.3.3   -> mybranch1.3.3  (non-fast-forward)
   a1a652f..3fd1572  mybranch1.3.3   -> origin/mybranch1.3.3
springdeiMac:myApp qiushuitian$ git pull origin mybranch1.3.3
From 192.168.1.39:myApp
 * branch            mybranch1.3.3   -> FETCH_HEAD

这是git pull语法

git pull [<options>] [<repository> [<refspec…>​]]

其中optionsrepositoryrefspec是可选参数,但是必须将它们提供给git命令,因为建议这样做,否则默认行为将如GIT Ducumentation所述

人们通常在不提供任何参数的情况下使用git pull。 传统上,这相当于说git pull origin

在您使用Refspec的第一个命令中,

所以在git pull origin mybranch1.3.3:mybranch1.3.3LHS:是你的<src>RHS是你的<dst> 并忽略此错误,您可以在Refspec中使用+

正如吉特所说

refspec的格式是optional + ,后跟<src>:<dst> ,其中<src>是远程引用的模式,而<dst>是将这些引用本地写入的位置。 +告诉Git更新参考,即使参考不是快速转发。

是的,在第二个命令mybranch1.3.3是您的本地分支。 此命令意味着从origin获取数据mergemerge到本地mybranch1.3.3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM