git中如何获取远程仓库的最新代码?
文章目录
- 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中如何获取远程仓库的最新代码?相关推荐
- git fetch -p 获取远程仓库的新分支以及删除远程仓库已删除的分支
一.需求 需求是我和同事合作开发一个项目.同事要新建一个分支,然后,我这边拉取这个分支即可. 然而同事新建分支并且推送到远程仓库之后,我这边通过git branch -a并不能看到这个分支. 二.解决 ...
- Git的使用——Git 常用命令总结、Git的使用、Git 的分支、远程仓库的使用、IDEA 中使用Git、Git 工作流(Git Flow、Github Flow、GitLab Flow)
Git的使用--Git 常用命令总结.Git的使用.Git 的分支.远程仓库的使用.IDEA 中使用Git 一.Git 常用命令总结 为了方便后续查找命令,故先把总结放前面,教程放后面 1.git 基 ...
- 新人使用Git获取远程仓库项目
前言 这篇git技术篇非常的简单基础,写它的原因很简单,因为现在很多的年轻人都很浮躁,刚入门就想学最牛x的,看不起基础的一些技术,比如说git操作.Linux基础命令,编程基础啥的.我身边有很多这样的 ...
- 【Eclipse中使用Git之一】把远程仓库的项目,clone到eclipse里面
[Eclipse中使用Git之一]把远程仓库的项目,clone到eclipse里面 2015-01-29 19:25 15779人阅读 评论(1) 收藏 举报 分类: Git(35) 作者同类文章X ...
- 【Git入门之六】远程仓库
2019独角兽企业重金招聘Python工程师标准>>> 远程仓库是用来把Git仓库托管到互联网,本地网络或者本机中. 本文主要介绍在本机中创建远程仓库(Remote reposito ...
- Git 之五 通信协议(HTTPS、SSH、Git)、使用远程仓库(GitHub、GitLab、Gitee等)
写在前面 Git 的官网上有很详细的使用教程(当然有翻译版本),具体地址是 https://git-scm.com/book/zh/v2.唯一不足就是,很多讲解并没有实机演示.但是,毫无疑问,官网 ...
- git 001--建本地仓库和远程仓库和拉代码
要使用Git对我们的代码进行管理,首先需要获得Git仓库. 获取Git仓库通常有两种方式: 在本地初始化Git仓库(不常用) 从远程仓库克隆(常用) 一.建本地仓库 方法一: 在自己电脑的任意目录下创 ...
- git本地项目关联远程仓库
git本地项目关联远程仓库 背景 实际开发中,偶尔会遇到从零开始开发一个项目的情况,常常是先在本地开发,再推送到远程仓库,记录一下从创建本地仓库开始,到推送远程仓库的过程 流程概述 远程创建项目,这一 ...
- 从命令行到IDE,版本管理工具Git详解(远程仓库创建+命令行讲解+IDEA集成使用)
首先,Git已经并不只是GitHub,而是所有基于Git的平台,只要在你的电脑上面下载了Git,你就可以通过Git去管理"基于Git的平台"上的代码,常用的平台有GitHub.Gi ...
- git修改本地和远程仓库名称的解决方法
git修改本地和远程仓库名称的解决方法 参考文章: (1)git修改本地和远程仓库名称的解决方法 (2)https://www.cnblogs.com/zlting/p/9620259.html 备忘 ...
最新文章
- 使用云计算灾难恢复计划制定勒索软件恢复策略
- ML-1 逻辑回归和梯度下降
- electron 使用中的注意事项
- 云炬60s看世界20211127
- 天津鑫茂工业园区--------------三维虚拟现实系统
- ip转换软件在五八上能用吗?_交换机能当路由器用吗?浅谈交换器和路由器的区别...
- 走进 Cake for .NET
- 今年大学毕业照画风太清奇.....我忍不住笑出了声!
- fastJson性能测试
- 天龙八部服务器都需要那种系统,天龙八部排行榜系统怎么看 排行榜系统分类介绍...
- 移动互联网APP测试流程及测试点(转载)(一)
- arcgis加载dwg显示一个点_DWG/DGN格式导入Arcgis;转化为shp格式;更改地理坐标;导入Google Earth...
- 《Web Load Testing For Dummie》读书笔记
- IIS下发布关于Excel导入导出时遇到的问题集锦(转)
- 次导数 次梯度 小结
- 全国计算机软考中级试题,计算机软考中级(网络工程师)历年真题汇总
- mysql服务器版本手册_MySQL中文参考手册——与MySQL服务器连接
- Blocking Queue三种加入队列方法对比
- MAC强制卸载软件 如遇“不能修改或删除“*”,因为macOS需要它”
- java swing 实现鼠标滑轮聚焦缩放图片
热门文章
- C++ 打表法计算农历错误数据处理
- THREE.JS中常用的3种材质
- 前端导航栏的几种写法
- 武汉理工大学计算机学院转专业细则,10.计算机学院 武汉理工大学2009年各学院转专业工作实施细则...
- powerbi导入地图_PowerBI 地图 - 层级下钻形状地图最佳实践
- YOLOv5中的CSP结构
- 你相信吗?这些照片其实并没有被PS_-Chaz-_新浪博客
- 安装hustoj的一些心得及html的笔记
- Python爬虫,高清美图我全都要(彼岸桌面壁纸)
- python 爬取图片网站图片链接并下载收集