Git Fetch 和 Git Pull 的区别

Git fetch和git pull的区别

二者都能够从远程获取最新版本到本地。

1. Git fetch

仅从远程获取最新版本到本地,不会进行 merge(合并)操作。

操作示例

  • 从远程的 origin的 master 主分支上获取最新版本到 origin/master 分支上:
bash 复制代码
git fetch origin master
  • 比较本地的 master分支和 origin/master 分支的区别:
bash 复制代码
git log -p master..origin/master
  • 合并操作:
bash 复制代码
git merge origin/master

2. Git pull

从远程获取最新版本并 merge(合并)到本地。

操作示例

以下命令相当于进行了 git fetch 和 git merge两步操作:

bash 复制代码
git pull origin master

实际工作中的选择

在实际工作中,git fetch可能是更好的选择。因为在执行 merge之前,可以根据实际情况决定是否进行合并。

报错 error: You have not concluded your merge (MERGE_HEAD exists). 的原因及解决办法

原因

该报错可能是由于以前 pull下来的代码自动合并失败导致的。

解决办法

办法一:保留本地的更改,中止合并 -> 重新合并 -> 重新拉取
bash 复制代码
git merge --abort
git reset --merge
git pull
办法二:舍弃本地代码,远端版本覆盖本地版本(慎重使用)
bash 复制代码
git fetch --all
git reset --hard origin/master
git fetch

参考链接

相关推荐
lb291735 分钟前
git的使用,推送仓库github
git·github
躲在云朵里`2 小时前
Git的使用
大数据·git·elasticsearch
悟能不能悟7 小时前
在 IntelliJ IDEA 中打开这个用于设置 Git 用户名(Name)和邮箱(Email)的特定弹窗
java·git·intellij-idea
威威猫的栗子1 天前
Git 使用全指南:从配置到免密登录
大数据·git·vscode
Casia_Dominic2 天前
【tmux无法使用鼠标滚轮滚动页面的问题】解决方案
linux·git·github·tmux
Justice link2 天前
Nginx和Apache的区别
git
物联网软硬件开发-轨物科技2 天前
【轨物方案】分布式光伏电站运维升级智能化系列:老电站的数智化重生
运维·人工智能·分布式·git
Misnice2 天前
Git 常用的提交类型
git
东风西巷2 天前
GitHub Desktop:让 Git 和 GitHub 操作变得简单直观
git·github·软件需求
Mike_Wuzy2 天前
【GIT】基础知识及基本应用
git