git fetch工作原理

背景

相信大家都知道git pull命令相当于git fetch加git merge。那么直接使用git pull和分开使用有什么区别呢?要解答这个问题首先要想了解git fetch的工作原理是什么样的。

git fetch的工作原理

先讲一下什么是远程跟踪分支。远程跟踪分支以 <remote>/<branch> 的形式命名,它们是远程分支状态的本地引用(指针)。

当使用 git fetch 命令和远程仓库进行通信时,Git会移动远程跟踪分支以精确反映远程仓库的状态。即远程跟踪分支的位置就是最后一次从远程仓库获取到的位置。

举例说明

你从Git服务器 git.ourcompany.com 克隆了一个项目到本地。你在本地的 master 分支做了一些工作,在同一段时间内有其他人推送提交到 git.ourcompany.com 并且更新了它的 master 分支,这就是说你们的提交历史已走向不同的方向。 即便这样,只要你保持不与 origin 服务器连接(并拉取数据),你的 origin/master 指针就不会移动。

本地与远程的工作可以分叉。

如果要与给定的远程仓库同步数据,运行 git fetch <remote> 命令(在本例中为 git fetch origin)。 这个命令查找 “origin” 是哪一个服务器(在本例中,它是 git.ourcompany.com), 从中抓取本地没有的数据,并且更新本地数据库,移动 origin/master 指针到更新之后的位置。

 更新你的远程仓库引用。

参考文档

Git - 远程分支 (git-scm.com)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值