Git:拉取远程分支
最后更新
要从某个远程分支拉取改动,写明远程仓库和分支名即可:git pull origin <branch>。它会获取这个分支,并把它合并到你的当前分支。如果你想把远程分支变成一个独立的本地分支,就先 fetch 再切换过去,具体见下面的示例。
在终端在线编辑器中试试这些命令:浏览器里就是真正的 shell,无需安装。
语法
| 命令 | 作用 |
|---|---|
git pull origin main | 从 origin 拉取 main 到当前分支 |
git pull origin feature --rebase | 拉取分支,用变基代替合并 |
git fetch origin | 下载所有远程分支(不合并) |
git switch feature | 在本地检出已获取的远程分支 |
拉取本地还没有的分支
先 fetch,再创建一个跟踪它的本地分支。
| 步骤 | 命令 | 结果 |
|---|---|---|
| 1 | git fetch origin | 下载远程仓库的分支 |
| 2 | git switch feature | 创建跟踪 origin/feature 的本地分支 feature |
| 3 | git pull | 之后直接 pull 就能保持更新 |
Git 拉取远程分支常见问题
怎么拉取某个指定的远程分支?
运行
git pull origin <branch>。它会从远程仓库 origin 获取指定分支,并合并到你当前检出的分支。如果想拉取到同名的本地分支,先切换到那个分支,再运行 git pull。本地没有的远程分支怎么拉取?
先运行
git fetch origin 下载远程仓库的分支,再运行 git switch <branch>,新版 Git 会自动创建一个跟踪 origin/<branch> 的本地分支。之后直接 git pull 就能保持更新。拉取到当前分支和拉取到新分支有什么区别?
git pull origin <branch> 会把远程分支合并到你的当前分支,两段历史混在一起,适合把别人的改动带进来。如果你想单独使用这个远程分支,就 fetch 后切换过去,让它成为一个跟踪远程分支的独立本地分支。怎么用变基代替合并来拉取?
加上
--rebase:git pull origin <branch> --rebase 会获取该分支,再把你的本地提交重新应用到它之上,让历史保持线性,不会产生合并提交。可以在线练习吗?
可以。打开终端在线编辑器,就能在浏览器里的真实 shell 中运行
git pull,无需安装。Coddy 的免费互动 Git 课程也会一步步教你使用远程仓库。