git 更新代码:git pull
·
git pull 作用
从服务端远程仓库拉取最新的更改并将其合并到客户端当前分支。

常用命令
| 当前分支 | 命令 | 行为描述 | 依赖跟踪关系 |
|---|---|---|---|
heads/main | git pull origin release:dev | 参考下文 | ❌ 否 |
heads/dev | git pull origin release | 拉取 origin/release 最新提交,并合并到当前 dev 分支git fetch origin release git merge FETCH_HEAD,FETCH_HEAD存的是origin/release最新提交 | ❌ 否 |
heads/release | git pull origin | git fetch origingit merge origin ,拉取 远程默认分支(origin/main)并合并 | ❌ 否 |
heads/release | git pull(已设tracking) | git fetchgit merge ,拉取 release 的 upstream origin/release 并合并 | ✅ 必须已配置 |
(heads/main) git pull origin release:dev 执行过程
git pull origin release:dev
实际上等价于以下两个步骤:
✅git fetch origin release:dev :它只会尝试用 origin/release 的内容快进(fast-forward)dev 分支指针 具体请参考。
✅git merge FETCH_HEAD :然后将 origin/release 的最新提交(即 FETCH_HEAD)合并到当前分支(如 main)。
使用效果是: 将远程 origin/release 的内容合并到当前分支,并顺带在本地创建或更新一个名为 dev 的分支作为该远程分支的本地引用。这个 dev 可以看作是 origin/release 的一个“本地副本”。
git pull 指定合并模式
| 命令 / 配置 | 推荐场景 |
|---|---|
git pull --ff(默认) | 多人协作、保护历史完整性 |
git pull --ff-only | 保证不产生新提交,如生产环境分支 |
git pull --no-ff | 明确记录每次合并动作 |
git pull --rebase | 本地开发分支更新上游改动 |
git checkout dev
git pull origin dev
A --- B --- C 远程分支 origin/dev
A --- D 本地分支 dev
git pull origin dev
A --- B --- C ← origin/dev
\ \
\ \
D ---------- M ← dev (after git pull)
------------------------------------------------------------
git checkout dev
git pull --rebase origin dev
A --- B --- C 远程分支 origin/dev
A --- D --- E 本地分支 dev
A --- B --- C --- D' --- E' ← dev (after git pull --rebase)
更多推荐



所有评论(0)