全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-11 6 分钟 ✍️ juanwangdev

git fetch 获取远程更新

git fetch 从远程仓库获取更新信息,但不自动合并到本地分支。

基本用法

Bash
# 获取所有远程更新
git fetch

# 获取指定远程的更新
git fetch <remote>

# 获取指定分支的更新
git fetch <remote> <branch>

fetch vs pull

命令操作合并
git fetch只获取更新不合并
git pull获取+合并自动合并

fetch 更安全:先查看变更再决定是否合并。

fetch 示例

Bash
# 获取 origin 的所有更新
git fetch origin

# 输出
remote: Enumerating objects: 10, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 8 (delta 2), reused 6 (delta 1)
Unpacking objects: 100% (8/8), done.
From https://github.com/user/repo
   a1b2c3..b2c3d4  main        -> origin/main
 * [new branch]    feature     -> origin/feature

fetch 后的操作

Bash
# 查看远程分支变更
git log HEAD..origin/main

# 查看差异
git diff HEAD..origin/main

# 合并远程更新
git merge origin/main

# 或使用 rebase
git rebase origin/main

fetch 工作流程

Bash
1. git fetch origin      # 获取更新
2. git log HEAD..origin/main  # 查看变更
3. git merge origin/main      # 合并更新

获取所有远程分支

Bash
# 获取所有远程仓库的更新
git fetch --all

# 获取时清理已删除的远程分支引用
git fetch -p
git fetch --prune

查看远程分支

text
# 查看所有远程分支
git branch -r

# 查看所有分支(含远程)
git branch -a

# 查看远程分支提交
git log origin/feature

fetch 典型场景

场景操作
检查远程更新fetch → log → 决定是否合并
安全同步fetch → 查看变更 → merge
查看远程新分支fetch → branch -r
清理远程引用fetch -p

推荐用 fetch + merge 替代 pull,先查看再合并更安全。

要点总结

  1. fetch 只获取更新,不合并
  2. 比 pull 更安全,可先查看变更
  3. git fetch --all 获取所有远程更新
  4. git fetch -p 清理已删除的远程分支引用
  5. fetch 后用 merge 或 rebase 合入

📝 发现内容有误?点击此处直接编辑

← 上一篇 rebase vs merge 选择
下一篇 → git pull 拉取更改
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库