我注意到,由于某些原因,我的一些git分支以“remotes / origin”为前缀:
BZ9
* master
remotes/origin/BZ8
remotes/origin/BZ9
remotes/origin/HEAD -> origin/master
remotes/origin/junit1
remotes/origin/master
例如,“遥控器/原点/ BZ9”分支与BZ9分支有什么区别?显然,它们都来自同一个概念分支,但是git认为它们是截然不同的。
答案 0 :(得分:0)
在您的商家信息中,“BZ9”和“master”都是本地分支机构,您可以自由更新和删除。当您在其中一个分支上并进行提交时,分支会更新以指向您的最新提交。
当您键入git branch -a
时显示的遥控器/原始前缀名称就像分支,但您可以将它们视为“只读”。这些分支你没有直接控制,它们会在你提取时自动设置,并且在你再次获取(或拉取)之前它们不会改变。
这是因为与您跟踪本地开发的本地分支不同,远程/原始分支跟踪您从中拉出的服务器上的远程开发(“origin”)。
例如,“remotes / origin / junit1”说:“最后一次从远程源repo获取git时,有一个名为junit1的分支指向此提交哈希”。
您可以像任何其他分支一样检出该远程分支,但是当您提交此分支时,分支指针不会更新,因为它不是为了跟踪您的本地进度,而是为了跟踪远程仓库的进度。 / p>
您的本地进度由您当地的分支机构跟踪,您可以根据需要自由创建,更新和删除。
同样地,如果其他人从您的回购中克隆,那么当他们从您那里取回时,他们会有两个远程分支:“remotes / origin / BZ9”和“remotes / origin / master”。换句话说,您的本地分支机构成为您下游某人的远程/原始分支。
所以你所有的远程/原始分支都是,它们是你上游回购的本地分支的只读副本。