Git fetch和pull的详解及区别
git fetch和pull的区别
Git中从远程的分支获取最新的版本到本地有这样2个命令:
1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge
Git fetch origin master git log -p master..origin/master git merge origin/master
以上命令的含义:
首先从远程的origin的master主分支下载最新的版本到origin/master分支上;然后比较本地的master分支和origin/master分支的差别;最后进行合并。上述过程其实可以用以下更清晰的方式来进行:
git fetch origin master:tmp git diff tmp git merge tmp
从远程获取最新的版本到本地的tmp分支上之后再进行比较合并
2. git pull:相当于是从远程获取最新版本并merge到本地
git pull origin master
上述命令其实相当于git fetch 和 git merge 在实际使用中,git fetch更安全一些。因为在merge前,我们可以查看更新情况,然后再决定是否合并结束。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
详解git无法pull仓库refusing to merge unrelated histories
详解git无法pull仓库refusing to merge unrelated histories 本文讲的是把Git在最新2.9.2,合并pull两个不同的项目,出现的问题如何去解决 fatal: refusing to merge unrelated histories 我在Github新建一个仓库,写了License,然后把本地一个写了很久仓库上传. 先pull,因为两个仓库不同,发现refusing to merge unrelated histories,无法pull 因为他们是两个
-
Git pull命令与fetch命令的区别
Git pull命令与fetch命令的区别 今天在公司碰到个问题,公司不使用master分支作为主分支,而使用release分支作为主分支,这就碰到了个问题,也就是当clone一个项目下来的时候,如果master跟release分支有冲突,就不能pull了,自己还要解决冲突. 刚下一个项目,也不懂冲突到底怎么回事,也就很难搞了. 这个时候,就不得不提Git的两个命令,git fetch和git pull Git中从远程的分支获取最新的版本到本地有这样2个命令: Git fetch git fet
-
github pull最新代码实现方法
github现在已经经常用了,但是经常遇到下面的问题 比如:从一个项目A中fork了一个分支B,并且在分支B有了改动.过了几天后,项目A中的代码应该会有很多人提交修改了,现在想将最新的代码pull到分支B.请问如何做呢?在github界面上没有看到响应的按钮 解决步骤: 假设你fork的项目原始地址是urlRep, 你自己的是urlYou $ git remote add upstream urlRep # 你本地的origin应该跟自己的remote,并且当前本地branch是maste
-
Git fetch和pull的详解及区别
git fetch和pull的区别 Git中从远程的分支获取最新的版本到本地有这样2个命令: 1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge Git fetch origin master git log -p master..origin/master git merge origin/master 以上命令的含义: 首先从远程的origin的master主分支下载最新的版本到origin/master分支上:然后比较本地的master分支和origin/mas
-
45个GIT经典操作场景使用详解
目录 正文 我刚才提交了什么? 我的提交信息(commit message)写错了 我提交(commit)里的用户名和邮箱不对 我想从一个提交(commit)里移除一个文件 我想删除我的的最后一次提交(commit) 删除任意提交(commit) 我尝试推一个修正后的提交(amended commit)到远程,但是报错: 我意外的做了一次硬重置(hard reset),我想找回我的内容 暂存(Staging) 我需要把暂存的内容添加到上一次的提交(commit) 我想要暂存一个新文件的一部分,而
-
Windows 版本Git命令行的使用详解
Git的使用基本教程 git安装 官网 msysgit.github.io(百度搜索git下载地址也行)下载 git安装(路径选择你的路径或者默认也行) 步骤中:出现选项注意选择Use git from git bash only(其他默认一路下一步就行了) 最后配置环境变量(目的就是在CDM窗口任意目录都可以执行git命令行) path:D:\Asoftware\java\Git\bin 详情请参考:https://www.jb51.net/article/191327.htm git配置账户
-
git stash的正确用法详解
目录 概述 git stash 具体用法 概述 前段时间突然发现,我之前对git stash的使用都是错误的. 具体说来,我是这么使用的:在远端有新的提交,需要git pull来拉取合并时,发现本地有一些未提交的修改,功能也没实现,不适合做一次commit.这时候我执行git stash隐藏本地的修改,然后执行git pull来拉取远端的更新,在最新代码基础上重新实现stash的那些代码中的功能. 这里的问题是,重新实现stash代码中的那一步,其实完全可以用git stash pop来替代,执
-
git中ssh key配置详解
git clone支持https和git(即ssh)两种方式下载源码: 当使用git方式下载时,如果没有配置过ssh key,则会有如下错误提示: 下面就介绍一下如何配置git的ssh key,以便我们可以用git方式下载源码. 首先用如下命令(如未特别说明,所有命令均默认在Git Bash工具下执行)检查一下用户名和邮箱是否配置(github支持我们用用户名或邮箱登录): git config --global --list 笔者的机器显示信息如下(已配置): 如未配置,则执行以下命令进行配置
-
Pycharm操作Git及GitHub的步骤详解
项目开发中,代码管理肯定离不开git操作,Pycharm中没有复杂的命令操作,只需要进行一些简单的菜单操作就可以方便的实现版本管理,下面分别介绍下载pycharm中git的简单操作,以及在Pycharm中进行github项目的下载和上传. Pycharm操作Git 1.pycharm配置git Windows: Mac: 完成配置后,点击Test可以看到本地的git版本信息. 2.git项目clone到本地 按照如下路径,输入git仓库地址以及本地项目目录,点击clone 在弹出的密码框中输入g
-
MySQL exists 和in 详解及区别
MySQL exists 和in 详解及区别 有一个查询如下: SELECT c.CustomerId, CompanyName FROM Customers c WHERE EXISTS( SELECT OrderID FROM Orders o WHERE o.CustomerID = cu.CustomerID) 这里面的EXISTS是如何运作呢?子查询返回的是OrderId字段,可是外面的查询要找的是CustomerID和CompanyName字段,这两个字段肯定不在OrderID里面啊
-
内存溢出和内存泄漏的详解及区别
内存溢出和内存泄漏的详解及区别 内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory:比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出. 内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光. memory leak会最终会导致out of memory! 内存溢出就是你要求分配的内存超出了系统能
-
java中synchronized(同步代码块和同步方法)详解及区别
java中synchronized(同步代码块和同步方法)详解及区别 问题的由来: 看到这样一个面试题: //下列两个方法有什么区别 public synchronized void method1(){} public void method2(){ synchronized (obj){} } synchronized用于解决同步问题,当有多条线程同时访问共享数据时,如果进行同步,就会发生错误,Java提供的解决方案是:只要将操作共享数据的语句在某一时段让一个线程执行完,在执行过程中,其他
-
C# 中 Array和 ArrayList详解及区别
C# 中 Array和 ArrayList详解及区别 一.Array 的用法 type[] typename=new type[size]; 或者 type[] typename=new type[]{ }; Array类型的变量在声明的同时必须进行实例化(如果初始化至少得初始化数组的大小) 平常我们int[],string[]...事实上就是声明一个array数组了 如: string [] srt=new string[]{"a","b"}; int[] a=n
随机推荐
- Android webview旋转屏幕导致页面重新加载问题解决办法
- 使用mydumper多线程备份MySQL数据库
- 正则应用之 逆序环视探索 .
- java中 IO 常用IO操作类继承结构分析
- iOS如何保持程序在后台长时间运行
- 注释PHP和html混合代码的小技巧(分享)
- python编程开发之textwrap文本样式处理技巧
- jsp操作MySQL实现查询/插入/删除功能示例
- 用SQL统计SQLServe表存储空间大小的代码
- struts2+jquery实现ajax登陆实例详解
- 自制基于jQuery的智能提示插件一枚
- 基于jQuery实现中英文切换导航条效果
- 遍历jquery对象的代码分享
- 第六节--访问属性和方法
- Android RecyclerView 复用错乱通用解法详解
- Python实现PS滤镜功能之波浪特效示例
- android 实现APP中改变头像图片的实例代码
- Windows Server 2008 R2 忘记密码的处理方法
- CodeIgniter框架钩子机制实现方法【hooks类】
- 微信小程序实现之手势锁功能实例代码