分支名称在推送时发生冲突

时间:2017-04-07 06:55:07

标签: git git-push git-clone git-checkout git-fetch

我认为我知道

当我从远程存储库克隆或获取时,远程名称的前缀是从此远程数据库导入的分支的名称。
例如,如果远程在我的存储库中被调用origin,那么在克隆之后,远程的master分支在我的存储库中被称为origin/master

此行为可确保导入的分支与我的存储库中已存在的分支之间永远不会发生名称冲突(无论它们是在本地创建还是从其他存储库导入)。

我不知道(即我的问题)

当我推送到远程存储库时,我的存储库名称是否(在远程存储库中)前缀为推送的分支的名称?

如果没有,如何避免分支名称冲突?

1 个答案:

答案 0 :(得分:1)

  

我认为我知道

     

当我从远程存储库克隆或获取时,远程名称前缀为从此远程数据库导入的分支的名称。

     

例如,如果远程在我的存储库中被称为origin,那么在克隆之后,我的存储库中的远程主分支被称为origin/master

它不完全是这样的。
当您克隆git存储库git时,您可以引用到所有分支但只检出master

screenshot 1

每次结帐分支git时,都会向其添加曲目分支

enter image description here

  

当我推送到远程存储库时,我的存储库名称是否(在远程存储库中)前缀为被推送的分支的名称?

每当您键入push git时,请使用名为enter image description here

的内部机制
  

refspec

     

refspec 的格式是可选的+,后跟<src>:<dst>,其中<src>是远程参考的模式,<dst> 1}}是那些引用将在本地写入的地方    +告诉Git更新参考,即使它不是快进。

更多阅读:
refspec