Git:远程分⽀----gitfetch命令的使⽤
git fetch 命令的使⽤
从远程主机克隆
Git 的 clone 命令会为你⾃动将远程主机命名为 origin,拉取它的所有数据,创建⼀个指向它的 master 分⽀的指针,并且在本地将其命名为 origin/master。同时Git 也会给你⼀个与 origin 的master 分⽀在指向同⼀个地⽅的本地 master 分⽀,这样你就有⼯作的基础。
本地有提交,远程也有别⼈的推送
远程库有⼈推送,提交了C0和C1:fetch最佳用法
本地提交了D0和D1:
只要你不与 origin 服务器连接,你的 origin/master 指针就不会移动。
同步
如果要同步远程库到你的⼯作,运⾏ git fetch origin 命令。
$ git fetch origin
这个命令查 “origin” 是哪⼀个服务器,从中抓取本地没有的数据,并且更新本地数据库,移动 origin/master 指针指向新的、更新后的位置。
要特别注意的⼀点是 fetch 抓取到新的远程跟踪分⽀时,本地的⼯作区(workspace)不会⾃动⽣成⼀份可编辑的副本,抓取结果是直接送到版本库(Repository)中。如下图:
打个⽐⽅,在远程库 origin 新建了⼀个分⽀ dev,git fetch 后本地不会⽣成⼀个新的分⽀ dev(可⽤ git branch 查看),只有⼀个不可以修改的 origin/dev 指针。
在 origin/master 后继续⼯作
如果想要在 origin/master 分⽀上⼯作,可以新建分⽀ test 并将其建⽴在远程跟踪分⽀之上:
$ git checkout -b test origin/master
这会给你新建⼀个⽤于⼯作的本地分⽀ test,并且起点位于 origin/master。
合并
如果想把拉取的结果合并到本地分⽀,需要⼿动合并。使⽤如下命令:
$ git chekout master
$ git merge origin/master
然⽽,看到上⾯的合并结果会想到命令 git pull 。在⼤多数情况下它的含义是⼀个 git fetch 紧接着⼀个 git merge 命令。即 git pull 是git fetch 和 git merge 的两步的和。
但是由于 git pull 的使⽤经常令⼈困惑,所以通常单独显式地使⽤ fetch 与 merge 命令会更好⼀些。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论