课程片段

团队协作:Fork、功能分支和拉取请求

本节内容将介绍90%开源项目和企业团队采用的标准协作流程。我们将完整讲解从Fork → 功能分支 → 提交 → 拉取请求 → 代码审查 → 合并的全过程。特别会详细讲解如何编写PR描述,让评审者快速理解上下文,以及哪些PR错误会暴露新手身份。

代码分叉(Fork) 拉取请求(Pull Request) 代码审查(Code Review)
本节课您将学到
  • 掌握通过标准流程(Fork → PR)为任何开源项目做出贡献的能力
  • 学会编写清晰明了的拉取请求描述,让评审者无需额外询问就能理解任务
  • 掌握在代码审查中正确回应反馈的方法 - 包括技术层面和沟通技巧

课程开头

Fork - 你的个人沙盒

  • Fork是你在GitHub上的个人仓库副本
  • 完全掌控,不会影响原始项目
  • 保持与上游项目的关联
  • 非常适合实验和开源贡献

想象一下,你在图书馆发现一本有趣的书,但不能在上面做笔记。Fork解决了这个问题,它在GitHub上创建了你的个人仓库副本。现在你可以随意实验代码,而不用担心破坏原始项目。这在需要测试想法或为他人项目做贡献时特别有用。你的Fork会保持与上游仓库的关联,方便追踪更新和向原作者提交更改。

如何在GitHub上创建Fork

  • 点击右上角的Fork按钮
  • 选择你的账户作为目标位置
  • 等待副本创建完成
  • 将你的Fork克隆到本地机器

打开GitHub上的目标仓库,找到右上角的'Fork'按钮。点击后选择你的账户作为目标位置。几秒钟后,GitHub会在你的个人资料中创建一个完全相同的仓库副本。现在你可以使用git clone命令将其克隆到电脑上开始工作。记得确认你克隆的是自己的Fork,而不是原始仓库。

# 将你的Fork克隆到本地
git clone https://github.com/你的用户名/仓库名.git

# 进入项目目录
cd 仓库名

# 检查远程仓库
git remote -v

Fork vs 克隆:有什么区别?

  • 克隆:在您计算机上的本地副本
  • Fork:您GitHub账户中的远程副本
  • Fork保持与原始仓库的连接
  • 便于同步更改

虽然这两个过程都会创建仓库的副本,但它们之间存在根本区别。克隆将代码下载到您的计算机,而Fork则在您的GitHub账户中创建一个远程副本。Fork保持与原始项目的连接,便于同步更改。这是参与开源项目的关键点:您在自己的Fork中工作,然后通过Pull Request向作者提交更改。现在您已经创建了项目的副本,是时候将其转移到本地计算机并学习如何使用了。

完整课程需订阅

完整版还有 30 张幻灯片。

登录并订阅后,即可观看视频、查看全部幻灯片、笔记、测试、AI 导师和面试。

登录或注册 订阅

课程内容

  1. Fork - 你的个人沙盒
  2. 如何在GitHub上创建Fork
  3. Fork vs 克隆:有什么区别?
  4. 将Fork克隆到计算机
  5. 添加上游仓库进行同步
  6. 检查远程仓库设置
  7. 为什么需要独立分支?
  8. 创建功能分支
  9. 如何正确命名分支
  10. 为什么需要原子提交
  11. 编写完美的提交信息
  12. 提交代码时的常见错误
  13. 为什么要将分支推送到 Fork 仓库
  14. 用于发布分支的 git push 命令
  15. 检查已发布的分支
  16. Pull Request作为变更申请
  17. PR标题:简洁明了
  18. PR描述:内容、原因及如何检查
  19. PR中的常见错误
  20. PR怪物:为什么大型拉取请求会扼杀审核
  21. PR描述:是解释而非道歉的机会
  22. 一个PR解决一个问题:如何避免混杂不相关的更改
  23. 代码审查:与编辑的对话
  24. 回复每一条评论
  25. 用单独的提交记录修复
  26. 合并时为什么会发生冲突
  27. 合并前更新分支
  28. 查找和解决冲突
  29. 完成冲突解决
  30. 合并成功后的清理工作
  31. 在GitHub上删除功能分支
  32. 更新本地仓库
  33. 团队协作大师:从Fork到Merge

本课时相关文章

本课程全部课程

  1. 从零开始:成为自信的Git开发者
  2. 为什么必须掌握Git——不懂Git就找不到工作的原因
  3. 安装与配置:准备首次使用Git
  4. 第一个仓库:init、add、commit 和索引的魔力
  5. 版本控制历史解读:log、diff、show 与历史记录导航
  6. Git分支:代码的平行宇宙
  7. 撤销操作详解:restore、reset、revert的正确使用与风险
  8. GitHub与远程仓库:将代码存入云端
  9. 团队协作:Fork、功能分支和拉取请求
  10. 代码合并冲突:不慌张,理解与解决之道
  11. 真实团队中的Git流程:如何选择适合的工作流
  12. 高级 Git 工具:rebase、stash、cherry-pick 和标签
  13. 期末项目:模拟真实团队开发