2017-04-07 28 views
0

当分公司名称冲突,我想我知道

当我克隆或从远程存储库中取出,遥控器的名称的前缀,从这个偏远的进口分支机构的名称是什么。
例如,如果遥控器在我的仓库被称为origin,然后克隆遥控器上的master分支之后被称为在我的仓库origin/master

此行为可确保有永远的名字到已经在我的仓库存在(无论是本地创建或从其他仓库进口)进口分支部门之间的冲突。

我不知道什么(即我的问题)

当我推到远程存储库,我的版本库的名字前缀(在远程存储库)作为要推分支机构的名称?

如果不是,如何避免分支名称冲突?

+1

分公司名称冲突*不*避免的,因为你可以在两个地方创建具有相同名称的分支,试图推动两者相同的远程查出。见例如http://stackoverflow.com/questions/31631726/how-does-git-deal-with-identical-branch-names-from-two-different-remote-repo和http://stackoverflow.com/questions/17359978/ why-have-git-allowed-me-to-create-two-branches-with-the-the-same-name for more on on separate local and remote branches。 – jonrsharpe

回答

1

我想我知道

当我克隆或从远程存储库中取出,遥控器的名称为前缀从这个偏远的进口分支机构的名称。

例如,如果远程调用在我的仓库起源,然后克隆遥控器上的主分支后,被称为在我的仓库origin/master

它不完全是这样。
当你克隆一个Git仓库的git你参考各分支机构,但只有主签出

enter image description here

每次你检出一个分支git的时间轨道分支添加到它

enter image description here

当我推到远程仓库,是我的仓库呐我前缀(在远程存储库中)的推动分支的名称?

当你键入推git的使用被称为refspec

refspec

的内部机制

的Refspec的格式是一个可选+,其次为<src>:<dst>,其中<src>是在远程端引用的模式和<dst>是那些引用将在本地写入的地方。
的+告诉Git的更新基准,即使它不是一个快进。

更多阅读:
https://www.atlassian.com/git/tutorials/refs-and-the-reflog#refspecs