git fetch和git pull区别详解

git fetch 相当于从远程获取最新版本到本地,不会自动merge处理

第一部分:git fetch

通过git fetch –help查看官方描述为:
git fetch是远程仓库下载objects和refs,默认远程仓库名称为origin,git fetch origin master理解为从远程origin仓库下载master分支内容到本地的remotes/origin/master分支。ref名称和object名称临时保存在.git/FETCH_HEAD文件里边。

处理命令为:

git fetch origin master
git branch -av
git log -p master.. origin/master # 比较master分支和origin/master分支差异
git merge origin/master # 将origin/master分支内容合并到本地master分支

理解过程为:

  1. 从远程origin的master分支上下载最新的版本到origin/master分支上
  2. 比较本地的master分支和origin/master分支的区别
  3. 最后进行合并处理

等效于:

git fetch origin master:tmp # 从远程origin下载master分支内容到本地tmp分支
git diff tmp # 比较当前master分支和tmp分支差异
git merge tmp # 将tmp分支内容合并到master分支
git branch -av # 查看当前版本库全部分支情况
git branch -d tmp # 删除掉临时tmp本地分支

第二部分:git pull

git pull 相当于是从远程获取最新版本并merge到本地

git pull origin master

理解过程为:
git pull = git fetch + git merge两个过程,在实际使用过程中,git fetch更安全,因为在merge之前,我们可以查看更新情况,决定是否合并。

posted @   民宿  阅读(704)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示