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

什么是跟踪分支?

什么是跟踪分支?

Git
MMMHUHU 2019-08-30 17:53:11
有人可以解释一个“跟踪分支”,因为它适用于git?这是git-scm.com的定义:Git中的“跟踪分支”是连接到远程分支的本地分支。当您按下并拉动该分支时,它会自动推送并拉到与其连接的远程分支。如果您始终从同一个上游分支拉入新分支,并且您不想明确使用“git pull”,请使用此选项。不幸的是,对于git和来自SVN的新手来说,这个定义对我来说绝对没有意义。我正在阅读“ Git的实用指南 ”(顺便说一句好书),他们似乎建议跟踪分支是一件好事,并且在创建第一个遥控器(原点,在这种情况下)后,你应该将您的主分支设置为跟踪分支,但遗憾的是,它不包括为什么跟踪分支是一件好事,或者通过将主分支设置为原始存储库的跟踪分支而获得的好处。有人可以赐教(英文)吗?
查看完整描述

4 回答

?
慕的地8271018

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

该ProGit本书有一个很好的解释:


跟踪分支


从远程分支签出本地分支会自动创建所谓的跟踪分支。跟踪分支是与远程分支有直接关系的本地分支。如果你在跟踪分支上并输入git push,Git会自动知道要推送到哪个服务器和分支。此外,在其中一个分支上运行git pull会获取所有远程引用,然后自动合并到相应的远程分支中。


克隆存储库时,它通常会自动创建跟踪origin / master的主分支。这就是为什么git push和git pull开箱即用而没有其他参数。但是,您可以根据需要设置其他跟踪分支 - 不跟踪原点分支但不跟踪主分支的分支。这个简单的例子就是你刚看到,运行的例子git checkout -b [branch] [remotename]/[branch]。如果你有Git 1.6.2或更高版本,你也可以使用--track速记:


$ git checkout --track origin/serverfix

Branch serverfix set up to track remote branch refs/remotes/origin/serverfix.

Switched to a new branch "serverfix"

要设置名称与远程分支不同的本地分支,可以轻松地使用具有不同本地分支名称的第一个版本:


$ git checkout -b sf origin/serverfix

Branch sf set up to track remote branch refs/remotes/origin/serverfix.

Switched to a new branch "sf"

现在,您的本地分支sf将自动推送和拉出origin/serverfix。


查看完整回答
反对 回复 2019-08-30
?
慕侠2389804

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

Pro Git书中 提到:


跟踪分支是与远程分支有直接关系的本地分支


不完全是。SO问题“ 难以理解git-fetch ”包括:


没有本地跟踪分支的概念,只有远程跟踪分支。

所以origin/master是一个远程跟踪分行master的origin回购。


但实际上,一旦你建立了上游分支关系:


像当地的一个分支 master

和远程跟踪分支一样 origin/master

然后,您可以将其master视为本地跟踪分支:它跟踪远程跟踪分支 origin/master,该分支又跟踪上游存储库 的主分支origin。

查看完整回答
反对 回复 2019-08-30
?
慕妹3146593

TA贡献1820条经验 获得超9个赞

以下是关于GIT跟踪分支机构的个人学习笔记,希望它对未来的访问者有所帮助:

https://img1.sycdn.imooc.com//5d68f26000017f6f06380481.jpg

https://img1.sycdn.imooc.com//5d68f2610001450b06440468.jpg

https://img1.sycdn.imooc.com//5d68f2620001773a06360546.jpg

https://img1.sycdn.imooc.com//5d68f2620001663c06370334.jpg

https://img1.sycdn.imooc.com//5d68f26300017d0806420380.jpg

https://img1.sycdn.imooc.com//5d68f2650001de3906350498.jpg



跟踪分支和“git fetch”:


https://img1.sycdn.imooc.com//5d68f26a000121be06960349.jpg

https://img1.sycdn.imooc.com//5d68f26a0001cca806960535.jpg

https://img1.sycdn.imooc.com//5d68f26c000177c306970250.jpg

查看完整回答
反对 回复 2019-08-30
?
慕工程0101907

TA贡献1887条经验 获得超5个赞

这就是我添加跟踪分支的方式,以便我可以从它进入我的新分支:


git branch --set-upstream-to origin/Development new-branch


查看完整回答
反对 回复 2019-08-30
  • 4 回答
  • 0 关注
  • 1767 浏览

添加回答

举报

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