git fetch 与 git pull
文章目录
- git flow 流程
- git fetch 与 git pull 区别
- git fetch 工作流程
git flow 流程
先来看一张图吧:
大致流程是这样的:我们在本地(工作区)编写好代码,然后执行git命令git add
添加到暂存区,然后使用git commit
提交到本地分支,然后使用git push
推送到远程分支。
git fetch 与 git pull 区别
那么本地如果需要同步远程仓库的代码,一般是两种做法,一种是使用git fetch
先将远程代码拿下来,然后再合并到本地分支;第二种就是直接使用git pull
将远程代码直接与本地代码进行合并,包括本地分支和远程分支。
看下图,git fetch
命令更新代码,本地的库中master
的commitID
不变,但是与git上面关联的那个orign/master
的commit ID
变成了和远程代码库相同了。这时候我们本地相当于存储了两个代码的版本号,我们还要通过merge
去合并这两个不同的代码版本,如果这两个版本都修改了同一处的代码,这时候merge
就会出现冲突,然后我们解决冲突之后就生成了一个新的代码版本。
而下面的git pull
命令会将本地的代码更新至远程仓库里面最新的代码版本,包含本地的分支,如果出现冲突,也需要手动解决。
虽然git pull
看起来像git fetch
+get merge
,但是根据commit ID
来看的话,他们实际的实现原理是不一样的。
这里建议是分两步做,在merge前可以看修改了什么内容,是否有冲突的代码,可以提前解决,防止冲突。
git fetch 工作流程
首先,先得到远程库上master
分支的东西:
git fetch origin master
origin
是远程仓库默认名,如果在 remote add
的时候自己重新取了远程仓库名,那就用自己取的名字;master
则是远程分支名。
这时候只是相当于从远程库拷了代码到本地,还没有和本地的merge
,这就是为什么不直接pull
,因为先fetch
再merge
我们就可以先看一下拉取下来的东西,再决定是否merge。
如果要在本地分支查看和刚刚拷下来的东西有什么区别,就用:
git diff yourlocalbranch oringin/master
下来就是在当前分支上,合并origin/master
,就要用merge
了:
git merge oringin/master
还可以用:
git rebase origin/master
如果有冲突,那就解决冲突,再commit
。若实在解决不了弄得乱七八糟想恢复可以:
git reset merge
还有就是如果明明添加了远程分支,但是用 git branch -a
又看不到,怎么办呢?运行:
git remote update
git fetch 与 git pull相关推荐
- Git fetch和git pull的区别
原文:http://www.tech126.com/git-fetch-pull/ Git中从远程的分支获取最新的版本到本地有这样2个命令: 1. git fetch:相当于是从远程获取最新版本到本地 ...
- git:Git fetch和git pull的区别, 解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists)....
Git fetch和git pull的区别, 解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists). 解决办法一:保 ...
- 关于git fetch 和git pull 的区别
1.fetch 相当于是从远程获取最新版本到本地,不会自动merge. git fetch origin master:tmp git diff tmp git merge tmp 2. git p ...
- git fetch和git pull之间的区别--转载
原文地址:http://blog.csdn.net/a19881029/article/details/42245955 git fetch和git pull都可以用来更新本地库,它们之间有什么区别呢 ...
- `git fetch` 和 `git remote update origin --prune` 的区别(以及跟`git pull` 的区别)
git fetch 和 git remote update origin --prune 的区别 git fetch 拉取分支,远程被删除的分支不会同步删除本地origin的分支(origin/xxx ...
- Git Fetch vs Pull:Git Fetch和Git Pull命令之间有什么区别?
Git pull and fetch are two commands that are regularly used by Git users. Let's see the difference b ...
- git fetch和git pull
git fetch:从远程仓库取代码,不会自动与本地代码合并(更人性化) git pull:从远程仓库取代码,会自动与本地代码合并 git pull =git fetch + git rebase ( ...
- git fetch 和git pull 的差别
1.git fetch 相当于是从远程获取最新到本地,不会自动merge,如下指令: git fetch orgin master //将远程仓库的master分支下载到本地当前branch中git ...
- git fetch和git pull的区别_Git实战(实验楼)学习笔记 实验2 基本用法(下)
一.实验介绍 本节实验为 Git 入门第二个实验,继续练习最常用的 Git 命令. 知识点 对比差异 分布式的工作流程 Git 标签 实验环境 实验环境为 Ubuntu Linux 命令行环境,需要了 ...
最新文章
- flask第十八篇——模板【2】
- LA4851餐厅(求好的坐标的个数)
- C#_完整的RSA操作类
- 接下来学习计划2020.11.9
- 【Flask】在g对象中存放List,实现在捕获异常后继续执行for循环
- C++异常(exception)第一篇--综合讲解
- new失败跟踪函数_WinDbg预览时间线:调试器中的时间线可以允许用户记录跟踪
- 两文本一图片android,Android富文本编辑器(二):图文混排以及图片上传处理
- 一个权重的物体拷贝权重给多个(oneWeightToMany)
- 【应用篇】WCF学习笔记(一):Host、Client、MetadataExchage
- 信息学奥赛一本通C++语言——1039:判断数正负
- Eclipse控制台Console使用说明
- 【Python学习笔记之一】Python关键字及其总结
- 利用R语言绘制世界航班路线图
- 拓端tecdat|stata对包含协变量的模型进行缺失值多重插补分析
- Chapter 1 MIMO无线通信系统发展
- kubernetes多节点集群搭建过程分析
- Win10 Win7 查看系统环境变量
- u盘怎样修复服务器系统,高手教你怎么修复U盘的MBR
- Python教程:利用百度API进行批量图片OCR识别