当前位置: 首页 > news >正文

git pull 和 git fetch

关于 git pullgit fetch 的区别

1. git fetch
  • 作用:从远程仓库获取最新的分支信息和提交记录,但不会自动合并或修改当前工作目录中的内容。
  • 特点
    • 它只是更新本地的远程分支引用(例如 remotes/origin/suyuhan),不会影响你的本地分支或工作目录。
    • 通常用于查看远程仓库的最新状态,而不直接修改本地代码。
  • 命令示例
    git fetch origin
    
2. git pull
  • 作用:从远程仓库获取最新的分支信息,并自动将远程分支的更改合并到当前本地分支中。
  • 特点
    • 它实际上是 git fetchgit merge 的组合操作。
    • 如果当前本地分支有未提交的更改,或者与远程分支存在冲突,可能会导致合并失败或需要手动解决冲突。
  • 命令示例
    git pull origin <branch-name>
    

为什么不能直接用 git pull 来切换到远程分支?

  • git pull 的限制

    • git pull 用于将远程分支的更改合并到当前本地分支中,而不是用于切换分支。
    • 如果你当前不在任何分支上(例如在 detached HEAD 状态),或者当前分支与目标远程分支无关,git pull 可能会报错或无法正常工作。
  • 正确切换分支的步骤

    • 如果你想要切换到一个远程分支并创建对应的本地分支,应该使用 git fetchgit checkout 的组合,而不是 git pull

总结

  • git fetch:从远程仓库获取最新信息,但不自动合并。
  • git pull:从远程仓库获取最新信息并自动合并到当前本地分支。

如果你想切换到远程分支 origin/suyuhan 并创建本地分支 suyuhan,应该使用:

git fetch origin
git checkout -b suyuhan origin/suyuhan

而不是直接使用 git pull

相关文章:

  • ffmpeg基础知识入门
  • 力扣Hot100题,刷题
  • 红黑树(Red-Black Tree)核心知识点与面试高频问题
  • 《灵珠觉醒:从零到算法金仙的C++修炼》卷十·混元大罗(91)混元无极破 NP - 旅行商问题(动态规划 + 状态压缩)
  • 遇到无法连接香港服务器可能是什么原因导致的呢
  • 安宝特应用 | 工业AR技术赋能高端制造领域验收流程数字化转型
  • #在docker中启动mysql之类的容器时,没有挂载的数据...在后期怎么把数据导出外部
  • 浅谈filebeat实现日志采集
  • HTML5 新元素:革新网页开发体验
  • 人工智能-深度学习导学-01
  • Selenium自动化:玩转浏览器,搞定动态页面爬取
  • JavaScript基础-window.localStorage
  • odo18实施——销售-仓库-采购-制造-制造外包-整个流程自动化单据功能的演示教程
  • vue3 脚手架初始化项目生成文件的介绍
  • es --- 集群数据迁移
  • C++11QT复习 (十四)
  • Qt中的元对象系统
  • 基于chatgpt得到的生活成本计算
  • 开源免费虚拟化软件PVE功能介绍
  • 服务器报错:xxx/libc.so.6: version `GLIBC_2.32‘ not found
  • 广西桂林、百色、河池等地表态:全力配合中央对蓝天立的审查调查
  • 复旦建校120周年大型义诊举行,百余名专家服务市民超三千人次
  • “80后”萍乡市安源区区长邱伟,拟任县(区)委书记
  • 全国省市县国土空间总体规划已基本批复完成,进入全面实施阶段
  • 外企聊营商|武田制药:知识产权保护助创新药研发
  • 美F-35险被胡塞武装击中,损失增大让行动成“烂尾仗”