搞懂git pull和git fetch的区别,别再乱用了

我发现很多新手同事对git pullgit fetch傻傻分不清楚,用错了经常把代码搞乱。今天我就用大白话讲讲这俩的区别,保证你能听懂。

举个现实中的例子

想象你在和别人合写一份文档:

  • git fetch 就像是你先问同事:"你那边改了啥?"同事把他的修改发给你,你先存着但不动自己的文档
  • git pull 则是直接说:“把你改的发给我,我直接合并到我这份里”,连问带改一步到位

具体区别

1. git fetch:只下载不合并

git fetch origin main
  • 作用:把远程仓库的最新代码下载到本地,但不动你的当前代码
  • 查看变化:要用git log origin/main或者git diff main origin/main来看具体改了啥
  • 安全指数:⭐⭐⭐⭐⭐(完全不会影响你的代码)

2. git pull:下载+自动合并

git pull origin main
  • 作用:相当于git fetch + git merge两步一起执行
  • 风险:如果远程改动和你的本地代码有冲突,会直接进入合并冲突状态
  • 安全指数:⭐⭐⭐(新手容易翻车)

什么时候用哪个?

用fetch的情况

  • 想先看看别人改了啥再决定要不要合并
  • 代码比较重要,想先检查再动手
  • 团队协作时,先fetch看看差异

用pull的情况

  • 确定远程改动不会影响你的代码
  • 独自开发的分支想快速同步
  • 急着要合并别人的修改

血泪教训

去年我就吃过亏:当时急着改bug,直接git pull没看改动,结果同事把数据库配置改了,我本地启动直接报错,排查了半天。要是先用git fetch看看改动,就不会出这问题了。

实用小技巧

  1. 推荐工作流:
git fetch   # 先看改动
git diff    # 检查差异
git pull    # 确认没问题再合并
  1. 想看远程有啥分支:
git fetch --all  # 更新所有远程分支信息
git branch -a    # 查看所有分支

记住:fetch是看,pull是改。不确定的时候先用fetch保平安!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值