CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
GitHub 协作进阶/课时/远程与 Fork
RawBlame
课时目录12 节

GitHub 协作进阶

  1. 01GitHub 路线图概览
  2. 02账号与 Profile
  3. 03仓库管理
  4. 04提交与历史
  5. 05分支与变基
  6. 06远程与 Fork
  7. 07Pull Request
  8. 08Issues 协作
  9. 09GitHub Actions
  10. 10组织与团队
  11. 11Pages 与静态站
  12. 12综合练习

远程与 Fork

managing-remotes、forking-vs-cloning、pr-from-a-fork。

30 分钟

远程与 Fork

远程(remote) 是本地仓库与 GitHub 服务器之间的桥梁;Fork 是在自己账号下复制他人仓库,开源贡献的标准入口。本课对应 git-github 路线图 的 managing-remotes、forking-vs-cloning、pr-from-a-fork。

git push / git pull 基础在 git-essentials;这里讲多 remote、upstream 同步与 fork 工作流。

学习目标

  • 管理多个 remote(origin、upstream)
  • 区分 clone 与 fork 的使用场景
  • 完成从 fork 开 PR 的完整同步流程

查看与配置 remote

git remote -v
git remote add upstream git@github.com:original-owner/project.git
git remote rename origin old-origin   # 少用
git remote remove upstream

典型 fork 布局:

remote指向用途
origin你的 forkpush 你的分支
upstream上游原仓pull 最新 main,保持同步

同步 upstream 到 fork

git fetch upstream
git switch main
git merge upstream/main
# 或 git rebase upstream/main
git push origin main

在 feature 分支开发前,先更新 main,减少 PR 冲突。

Fork vs Clone

操作结果
Clone本地副本;需对原仓有读权限(public 可读)
ForkGitHub 上在你账号建新仓 + 可选 clone 到本地

开源贡献:Fork → clone 你的 fork → 分支 → push origin → PR 到 upstream。

git clone git@github.com:you/forked-project.git
cd forked-project
git remote add upstream git@github.com:upstream-owner/forked-project.git
git switch -c fix/typo-in-readme
# 修改、commit
git push -u origin fix/typo-in-readme

然后在 GitHub:Compare & pull request 到 upstream-owner/forked-project 的 main。

HTTPS 与 SSH

# 查看当前 remote URL
git remote get-url origin

# 切换为 SSH
git remote set-url origin git@github.com:you/repo.git

公司代理环境可能限制 SSH;HTTPS + credential manager 亦可。

常见错误

  • rejected (non-fast-forward):远程有你本地没有的 commit → 先 git pull --rebase
  • Permission denied:SSH 密钥未加到 GitHub,或 push 到了无权限的 upstream(应对 origin push)

练习

  • Fork 一个开源 docs 仓,添加 upstream remote
  • git fetch upstream && git merge upstream/main 同步 main
  • 推一条小改动到 origin,准备下一课开 PR

小结

origin 写自己,upstream 读上游;Fork 是开源 PR 的第一步。 下一课 Pull Request 规范、Review 与 diff 阅读。

加载本节练习…
← 上一课分支与变基下一课 →Pull Request