0003-Git不完全操作指南之远程操作3——pull

Git不完全操作指南之远程操作3------pull

之前咱们说了fetch命令只会抓取远程分支数据,并更新本地远程分支指针,但并不会修改本地分支的指针和文件。那么,我们要实现获取远程数据并更新本地分支要怎么做呢?

以下的命令其实都可以达到你的目的:

  • git cherry-pick o/main
  • git rebase o/main
  • git merge o/main
  • 等等

然而,由于上述的操作实在太常用了,上面的这些命令都位面过于复杂,因此,git专门提供了一个命令用来完成先抓取当前分支远程分支的数据并合并到本地分支的操作,这个命令就是我们今天的主角:git pull

命令详解

首先我们先来看看使用fetch+merge是如何拉取远程分支数据并合并到本地分支的。

以下是当前我们的仓库情况:

bash 复制代码
# 首先,我们先抓取远程分支数据,并同步本地的远程分支
git fetch

# 然后我们将本地的远程分支o/main合并到本地分支main中
git merge o/main

上述命令执行的最终结果为:

现在,我们的本地分支main已经拥有了远程分支的所有更改了。

那么,我们再来看看pull的结果如何:

bash 复制代码
git pull

我们可以发现,两种方式执行的最终结果是一模一样的,也就是说,实际上我们的git pull命令就是git fetch; git merge o/main的综合。因此,平时开发时,我们一般是使用更加便捷的git pull操作来完成抓取远程分支信息并合并本地分支的操作。

注意:上面我们说git pull相当与是git fetch; git merge o/main的综合,但是实际上还是有一些区别的。git fetch会抓取远程仓库中所有远程分支的信息,但git pull只会抓取当前分支或指定分支的信息。原因是git pull需要进行合并本地分支的操作,如果一次性抓取所有的远程分支信息,如果在合并时发生了冲突,那么解决冲突的地方就会相当多(每个被抓取下来的新的更新都有可能冲突),这样冲突就难以处理了。因此,git pull默认只是抓取当前分支的信息,当然,你可以使用以下命令指定分支名抓取特定分支的信息并将该分支合并到当前本地分支:git pull o main

相关推荐
ShineWinsu16 小时前
对于Git:远程操作的超详细保姆级解析
linux·git·gitee·github·远程仓库·分布式版本控制系统·远程操作
梦帮科技17 小时前
从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环
javascript·git·架构·node.js·reactjs·html5·visual studio
zho_uzhou1 天前
Git入门概念
git
爱奥尼欧2 天前
【Git】远程分支删了本地还在、两个分支历史不相干?两招故障排解
开发语言·git
Java后端的Ai之路2 天前
Git冲突完整排查与实战:本地修改覆盖报错到成功推送全流程复盘
开发语言·人工智能·git·python·pop
一个心烑2 天前
配置项目git的 SSL 证书
git·网络协议·ssl
IT从业者张某某2 天前
【鸿蒙PC命令行适配】GitUI 移植的工程实践:双 Git 引擎(libgit2/gitoxide)的鸿蒙适配之路
git·华为·harmonyos
xinjia_ctrl2 天前
暑假实习总结
git·后端·spring·maven·intellij-idea
Molesidy2 天前
【Git】分别给出添加到Keil工程和IAR工程中的gitnore文件以便不跟踪编译文件的git记录
git·vscode·插件
颜颜yan_3 天前
Git Cola 鸿蒙 PC 版适配全记录:从 Qt 桌面工具到 ArkTS 原生应用
git·qt·harmonyos