文章目录

  • 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 命令更新代码,本地的库中mastercommitID不变,但是与git上面关联的那个orign/mastercommit 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,因为先fetchmerge我们就可以先看一下拉取下来的东西,再决定是否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相关推荐

  1. Git fetch和git pull的区别

    原文:http://www.tech126.com/git-fetch-pull/ Git中从远程的分支获取最新的版本到本地有这样2个命令: 1. git fetch:相当于是从远程获取最新版本到本地 ...

  2. 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). 解决办法一:保 ...

  3. 关于git fetch 和git pull 的区别

    1.fetch 相当于是从远程获取最新版本到本地,不会自动merge. git fetch origin master:tmp git diff tmp  git merge tmp 2. git p ...

  4. git fetch和git pull之间的区别--转载

    原文地址:http://blog.csdn.net/a19881029/article/details/42245955 git fetch和git pull都可以用来更新本地库,它们之间有什么区别呢 ...

  5. `git fetch` 和 `git remote update origin --prune` 的区别(以及跟`git pull` 的区别)

    git fetch 和 git remote update origin --prune 的区别 git fetch 拉取分支,远程被删除的分支不会同步删除本地origin的分支(origin/xxx ...

  6. 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 ...

  7. git fetch和git pull

    git fetch:从远程仓库取代码,不会自动与本地代码合并(更人性化) git pull:从远程仓库取代码,会自动与本地代码合并 git pull =git fetch + git rebase ( ...

  8. git fetch 和git pull 的差别

    1.git fetch 相当于是从远程获取最新到本地,不会自动merge,如下指令: git fetch orgin master //将远程仓库的master分支下载到本地当前branch中git ...

  9. git fetch和git pull的区别_Git实战(实验楼)学习笔记 实验2 基本用法(下)

    一.实验介绍 本节实验为 Git 入门第二个实验,继续练习最常用的 Git 命令. 知识点 对比差异 分布式的工作流程 Git 标签 实验环境 实验环境为 Ubuntu Linux 命令行环境,需要了 ...

最新文章

  1. flask第十八篇——模板【2】
  2. LA4851餐厅(求好的坐标的个数)
  3. C#_完整的RSA操作类
  4. 接下来学习计划2020.11.9
  5. 【Flask】在g对象中存放List,实现在捕获异常后继续执行for循环
  6. C++异常(exception)第一篇--综合讲解
  7. new失败跟踪函数_WinDbg预览时间线:调试器中的时间线可以允许用户记录跟踪
  8. 两文本一图片android,Android富文本编辑器(二):图文混排以及图片上传处理
  9. 一个权重的物体拷贝权重给多个(oneWeightToMany)
  10. 【应用篇】WCF学习笔记(一):Host、Client、MetadataExchage
  11. 信息学奥赛一本通C++语言——1039:判断数正负
  12. Eclipse控制台Console使用说明
  13. 【Python学习笔记之一】Python关键字及其总结
  14. 利用R语言绘制世界航班路线图
  15. 拓端tecdat|stata对包含协变量的模型进行缺失值多重插补分析
  16. Chapter 1 MIMO无线通信系统发展
  17. kubernetes多节点集群搭建过程分析
  18. Win10 Win7 查看系统环境变量
  19. u盘怎样修复服务器系统,高手教你怎么修复U盘的MBR
  20. Python教程:利用百度API进行批量图片OCR识别

热门文章

  1. 微软:今年要让Office 2007寿终正寝
  2. 完整学习git五git重置
  3. 屏幕抓取程序 (位图DDB的例子)
  4. hibernate多对一和一对多关联
  5. Please enable make sure that the ntop html/ directory is properly installed
  6. 转:Socket在阻塞模式下的信息收发和文件接收
  7. 软件协会发布开源软件与商业软件知识产权报告
  8. 老板总说你的报表没价值?这个动态报表神器,还有很多人不知道
  9. 数据管理的3种方法,看完后感叹:数字化转型、数据中台真不难
  10. JS如何判断安卓还是iOS 一种比较被认同的方式