文章目录

  • 1.git pull:获取最新代码到本地,并?动合并到当前分支
  • 2.git fetch + git merge:获取最新代码到本地,然后手动合并分支
    • 2.1 额外建立本地分支
    • 2.2 不额外建立本地分支

1.git pull:获取最新代码到本地,并动合并到当前分支

  • 代码展

    # 查看当前远程分?
    $ git remote -v
    # 直接拉取远程分支最新代码并合并最新代码到本地当前分支
    $ git pull origin master    `**?例:拉取远端origin/master分?合并到本地当前分?**`
    

    PS:示例:拉取远端仓库的master分支的最新代码合并到本地的master分支

  • 分析:不推荐这种式,因为是直接合并的,法提前处理冲突。虽然pull这种方式可以更新代码到本地,相当于fetch+merge,不过多人协作的话不够安全。

2.git fetch + git merge:获取最新代码到本地,然后手动合并分支

  • 2.1 额外建立本地分支

  • 代码展示

    # 查看当前远程的版本
    $ git remote -v# 获取最新代码到本地临时分?(本地当前分?为[branch],获取的远端的分?为[origin/branch])
    $ git fetch origin master:master1   `**?例:在本地建?master1临时分?,并下载远端的origin/master分?到master1临时分?中**`以上命令的意思是:从远程的origin仓库的master分支下载最新版本代码到本地并新建一个分支master1中。
    如果本地不存在master1分支, 则会自动创建一个新的master1分支;
    如果本地存在master1分支, 并且是‘fast forward’, 则自动合并两个分支, 否则, 会阻止以上操作# 查看版本差异
    $ git diff master1     `**示例: 查看本地master1分支与当前分支的版本差异**`# 合并最新分支到本地分支
    $ git merge master1     `**示例: 合并本地临时分支master1到当前分支**`# 删除本地临时分支
    $ git branch -d master1   `**示例: 删除本地分支master1**`ps:如果master1分支没有成功合并到本地当前分支会报错,可以用以下命令强制删除
    $ git branch -D master1
    

    PS:示例:拉取远端仓库的master分支的最新代码到本地master1临时分支

  • 分析: 不推荐这种方式,因为还需建立额外的分支。虽然这种方式更好理解,也更安全

  • 2.2 不额外建立本地分支

  • 代码展示

    # 查看当前远程的版本
    $ git remote -v  # 获取最新代码到本地(本当前地分支为[branch],获取的远端的分支[origin/branch])
    $ git fetch origin master  `**示例:获取远端的origin/master分支**`以上命令的意思是:从远程的origin仓库的master分支下载代码到本地的master分支# 查看版本差异
    $ git log -p master..origin/master  `**示例1:查看本地的master与远端的origin/master分支的版本差异**` # 合并最新代码到本地分支
    $ git merge origin/master          `**示例1:合并远端origin/master分支到当前分支**``ps:注意git fetch origin与git fetch origin master 的区别`
    $ git fetch origin意思是获取远端的默认分支的最新代码,省略分支名代表获取的是默认分支的最新代码,也就是说,如果拉取远程仓库默认分支名最新代码到本地,则可以省略要fetch的分支名。
    而$ git fetch origin master是设定当前分支的 FETCH_HEAD为远程仓库的master分支,属于明确了获取指定分支的最新代码。
    注意: 在这种情况下, 不会在本地创建本地远程分支, 这是因为:这个操作是git pull origin master的第一步, 而对应的pull操作,并不会在本地创建新的branch。
    另外,该命令还带来了一个附加效果,那就是:这个命令可以用来测试远程仓库的远程分支master是否存在, 如果存在, 返回0, 如果不存在, 返回128, 抛出一个异常。
    
  • 备注 : 推荐这种方式,因为不用额外建立本地分支 。

  • 番外:何为FETCH_HEAD?

    我们来讲一讲上面提到的FETCH_HEAD的概念

    1、FETCH_HEAD指定某个branch在远端服务器(仓库)上的最新状态。

    2、FETCH_HEAD是对最后一次提取的提示的引用,无论该提取是使用fetch命令直接启动还是作为pull的一部分启动。

    3、FETCH_HEAD的当前值存储在名为FETCH_HEAD的文件中的.git文件夹中。

    也就是说FETCH_HEAD 是一个版本链接,记录在本地.git文件夹中,指向着目前已经从远程仓库取下来的分支的末端(最新)版本。

    示例说明:将远程origin仓库的A分支合并到本地的B分支。

     #获取远程A分支最新代码到本地当前分支$ git fetch origin A#切换到本地B分支$ git checkout B#合并远程A分支最新代码到本地当前B分支$ git merge FETCH_HEAD
    

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

git中如何获取远程仓库的最新代码?相关推荐

  1. git fetch -p 获取远程仓库的新分支以及删除远程仓库已删除的分支

    一.需求 需求是我和同事合作开发一个项目.同事要新建一个分支,然后,我这边拉取这个分支即可. 然而同事新建分支并且推送到远程仓库之后,我这边通过git branch -a并不能看到这个分支. 二.解决 ...

  2. Git的使用——Git 常用命令总结、Git的使用、Git 的分支、远程仓库的使用、IDEA 中使用Git、Git 工作流(Git Flow、Github Flow、GitLab Flow)

    Git的使用--Git 常用命令总结.Git的使用.Git 的分支.远程仓库的使用.IDEA 中使用Git 一.Git 常用命令总结 为了方便后续查找命令,故先把总结放前面,教程放后面 1.git 基 ...

  3. 新人使用Git获取远程仓库项目

    前言 这篇git技术篇非常的简单基础,写它的原因很简单,因为现在很多的年轻人都很浮躁,刚入门就想学最牛x的,看不起基础的一些技术,比如说git操作.Linux基础命令,编程基础啥的.我身边有很多这样的 ...

  4. 【Eclipse中使用Git之一】把远程仓库的项目,clone到eclipse里面

    [Eclipse中使用Git之一]把远程仓库的项目,clone到eclipse里面 2015-01-29 19:25 15779人阅读 评论(1) 收藏 举报 分类: Git(35) 作者同类文章X ...

  5. 【Git入门之六】远程仓库

    2019独角兽企业重金招聘Python工程师标准>>> 远程仓库是用来把Git仓库托管到互联网,本地网络或者本机中. 本文主要介绍在本机中创建远程仓库(Remote reposito ...

  6. Git 之五 通信协议(HTTPS、SSH、Git)、使用远程仓库(GitHub、GitLab、Gitee等)

    写在前面   Git 的官网上有很详细的使用教程(当然有翻译版本),具体地址是 https://git-scm.com/book/zh/v2.唯一不足就是,很多讲解并没有实机演示.但是,毫无疑问,官网 ...

  7. git 001--建本地仓库和远程仓库和拉代码

    要使用Git对我们的代码进行管理,首先需要获得Git仓库. 获取Git仓库通常有两种方式: 在本地初始化Git仓库(不常用) 从远程仓库克隆(常用) 一.建本地仓库 方法一: 在自己电脑的任意目录下创 ...

  8. git本地项目关联远程仓库

    git本地项目关联远程仓库 背景 实际开发中,偶尔会遇到从零开始开发一个项目的情况,常常是先在本地开发,再推送到远程仓库,记录一下从创建本地仓库开始,到推送远程仓库的过程 流程概述 远程创建项目,这一 ...

  9. 从命令行到IDE,版本管理工具Git详解(远程仓库创建+命令行讲解+IDEA集成使用)

    首先,Git已经并不只是GitHub,而是所有基于Git的平台,只要在你的电脑上面下载了Git,你就可以通过Git去管理"基于Git的平台"上的代码,常用的平台有GitHub.Gi ...

  10. git修改本地和远程仓库名称的解决方法

    git修改本地和远程仓库名称的解决方法 参考文章: (1)git修改本地和远程仓库名称的解决方法 (2)https://www.cnblogs.com/zlting/p/9620259.html 备忘 ...

最新文章

  1. 使用云计算灾难恢复计划制定勒索软件恢复策略
  2. ML-1 逻辑回归和梯度下降
  3. electron 使用中的注意事项
  4. 云炬60s看世界20211127
  5. 天津鑫茂工业园区--------------三维虚拟现实系统
  6. ip转换软件在五八上能用吗?_交换机能当路由器用吗?浅谈交换器和路由器的区别...
  7. 走进 Cake for .NET
  8. 今年大学毕业照画风太清奇.....我忍不住笑出了声!
  9. fastJson性能测试
  10. 天龙八部服务器都需要那种系统,天龙八部排行榜系统怎么看 排行榜系统分类介绍...
  11. 移动互联网APP测试流程及测试点(转载)(一)
  12. arcgis加载dwg显示一个点_DWG/DGN格式导入Arcgis;转化为shp格式;更改地理坐标;导入Google Earth...
  13. 《Web Load Testing For Dummie》读书笔记
  14. IIS下发布关于Excel导入导出时遇到的问题集锦(转)
  15. 次导数 次梯度 小结
  16. 全国计算机软考中级试题,计算机软考中级(网络工程师)历年真题汇总
  17. mysql服务器版本手册_MySQL中文参考手册——与MySQL服务器连接
  18. Blocking Queue三种加入队列方法对比
  19. MAC强制卸载软件 如遇“不能修改或删除“*”,因为macOS需要它”
  20. java swing 实现鼠标滑轮聚焦缩放图片

热门文章

  1. C++ 打表法计算农历错误数据处理
  2. THREE.JS中常用的3种材质
  3. 前端导航栏的几种写法
  4. 武汉理工大学计算机学院转专业细则,10.计算机学院 武汉理工大学2009年各学院转专业工作实施细则...
  5. powerbi导入地图_PowerBI 地图 - 层级下钻形状地图最佳实践
  6. YOLOv5中的CSP结构
  7. 你相信吗?这些照片其实并没有被PS_-Chaz-_新浪博客
  8. 安装hustoj的一些心得及html的笔记
  9. Python爬虫,高清美图我全都要(彼岸桌面壁纸)
  10. python 爬取图片网站图片链接并下载收集