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分支
理解过程为:
- 从远程origin的master分支上下载最新的版本到origin/master分支上
- 比较本地的master分支和origin/master分支的区别
- 最后进行合并处理
等效于:
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之前,我们可以查看更新情况,决定是否合并。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)