4 回答
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。
TA贡献1719条经验 获得超6个赞
Pro Git书中 提到:
跟踪分支是与远程分支有直接关系的本地分支
不完全是。SO问题“ 难以理解git-fetch ”包括:
没有本地跟踪分支的概念,只有远程跟踪分支。
所以origin/master是一个远程跟踪分行master的origin回购。
但实际上,一旦你建立了上游分支关系:
像当地的一个分支 master
和远程跟踪分支一样 origin/master
然后,您可以将其master视为本地跟踪分支:它跟踪远程跟踪分支 origin/master,该分支又跟踪上游存储库 的主分支origin。
TA贡献1887条经验 获得超5个赞
这就是我添加跟踪分支的方式,以便我可以从它进入我的新分支:
git branch --set-upstream-to origin/Development new-branch
- 4 回答
- 0 关注
- 1878 浏览
添加回答
举报