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

Git分支:主控与源/主控与远程/源/主控

Git分支:主控与源/主控与远程/源/主控

Git
慕勒3428872 2019-12-07 15:53:48
我认为我在正确的方向上了解git的基本概念。我已经设置并克隆了一个远程存储库。我还创建了服务器端的空存储库,并将本地存储库链接到该存储库。我的问题是我不了解以下两者之间的区别:原始服务器/主服务器与遥控器/原始服务器/主服务器据我了解,master是本地分支,remotes / origin / master是远程分支。但是起源/母版到底是什么?
查看完整描述

3 回答

?
阿波罗的战车

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

克隆远程存储库并运行git branch -a(以显示git知道的所有分支)。它可能看起来像这样:


* master

  remotes/origin/HEAD -> origin/master

  remotes/origin/master

这master是本地存储库中的一个分支。 remotes/origin/master是在名为master的远程上命名的分支origin。您可以将其称为origin/master,如:


git diff origin/master..master

您也可以将其称为remotes/origin/master:


git diff remotes/origin/master..master

这只是引用同一事物的两种不同方式(顺便说一句,这两个命令的意思是“向我展示远程master分支和我的master分支之间的更改)。


remotes/origin/HEAD是default branch名为的遥控器的origin。这使您可以简单地说origin而不是origin/master。



查看完整回答
反对 回复 2019-12-07
?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

对于像我这样的假人的简短回答(从Torek偷来的):

  • 来源/管理员是“我上次检查管理员在那儿的地方”

  • 主人是“根据我一直在做什么,主人在这里”


查看完整回答
反对 回复 2019-12-07
?
繁花不似锦

TA贡献1851条经验 获得超4个赞

技术上不会有任何实际的“远程”东西都1,在你自己的Git回购,也有只是本地名称应该对应于另一个名字,不同的回购。origin/whatever最初命名的将与您从中克隆的回购中的那些相匹配:


git clone ssh://some.where.out.there/some/path/to/repo # or git://some.where...

制作另一个仓库的本地副本。一路上,它会记录在那里的所有分支,并提交那些引用,并将这些分支以名称粘贴到您的本地仓库中refs/remotes/origin/。


根据您花了多长时间git fetch才能更新“我在某处某处的副本”,他们可能会更改其分支,创建新分支并删除一些分支。当您执行自己的操作git fetch(或git pull实际上是获取加合并操作)时,您的存储库将复制其新作品并refs/remotes/origin/<name>根据需要更改所有条目。正是fetching 的那一刻使所有东西都匹配了(嗯,那个和最初的克隆,还有一些pushing的情况-基本上是每当Git有机会检查的时候,但是请注意下面的警告)。


Git通常让您将自己的refs/heads/<name>称为Just <name>,将远程的称为origin/<name>,这都可以正常工作,因为很明显哪个是哪个。有时可以创建您自己的分支名称,使其不明显,但是在它发生之前不必担心。:-)只要给Git最短的名字就可以使它变得显而易见,它就会从那里开始:origin/master是“上次我检查师父在那边的地方”,master也是“根据我的所作所为师傅在那儿的地方” 。根据需要运行git fetch以在“ master在那里”上更新Git。


警告:在低于1.8.4的Git版本中,git fetch有些模式不会更新“ master在那儿”(更准确地说,是不会更新任何远程跟踪分支的模式)。跑步git fetch origin,或者git fetch --all,甚至只是git fetch,不更新。跑步git fetch origin master 没有。不幸的是,这种“不更新”模式是由普通触发的git pull。(这主要是一个小麻烦,已在Git 1.8.4及更高版本中修复。)


1好吧,有一件事叫做 “远程”。但这也是本地的!名称origin就是Git所说的“远程”。它基本上只是克隆时使用的URL的缩写。这也是originin的origin/master来源。该名称origin/master称为“ 远程跟踪分支”,有时会缩写为“远程分支”,尤其是在较早或更正式的文档中。


查看完整回答
反对 回复 2019-12-07
  • 3 回答
  • 0 关注
  • 430 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信