Coursera 笔记

Module 05 · RStudio & GitHub

GitHub - Working with BranchesGitHub 分支操作

Coursera ↗

欢迎来到“GitHub:分支操作”!

观看本视频后,您将能够:

  • 定义一个 GitHub 分支 📝
  • 创建主分支 (Master) 和子分支 (Child) 🌳
  • 描述如何合并分支 🔄
  • 创建拉取请求 (Pull Request, PR) 📤

什么是 GitHub 分支?

分支 (Branch) 是您的存储库的快照,您可以在其中进行更改。

主分支 (master)

  • 在 Git 和 GitHub 中,存在一个被称为 master 的主分支。
  • 它包含可部署的代码,是您项目的官方工作版本。
  • 稳定性要求:它旨在保持稳定,因此,建议不要将任何未经测试的代码推送到 master 分支。

子分支 (child)

  • 如果您想更改主分支中的代码和工作流程,可以创建一个 master 分支的副本,即子分支 (Child Branch)。
  • 隔离开发:在子分支中进行更改和实验。您可以构建、编辑、测试更改,当您对更改满意后,可以将其合并回 master 分支,以便准备部署模型。
  • 安全性:所有这些操作都是在主分支之外完成的。在您合并之前,更改不会影响到分支前的原始工作流程。

💡 多人协作

为确保一个成员所做的更改不会妨碍或影响其他成员的工作流程,可以创建多个分支,并在工作流程经过适当测试和批准后,将其适当地合并到 master 分支。


创建和使用子分支

创建分支步骤

  1. 查看当前分支:在一个存储库中,当前有一个分支(即 master)。您想进行更改,但又不想改动 master 以防出错,因此您将创建一个分支。
  2. 创建新分支:点击下拉箭头,然后创建新分支。
  3. 命名分支:将新分支命名为 ‘child branch’,然后点击回车 (Enter)。
  4. 验证:现在存储库有两个分支:master 和 child branch。您可以通过在分支选择器下拉列表中选择 child branch 来查看。master 分支中的所有内容都已复制到 child branch。

在子分支中添加文件

您可以在 child branch 中添加文件,而不会向 master 分支添加任何文件。

  1. 确保选中:确保在分支选择器下拉列表中选中了 child branch。
  2. 创建文件:点击 “Create new file”(创建新文件)。
  3. 命名和编写代码:在提供的空间中,将文件命名为 test child.py,然后添加几行代码。例如,您可以打印一条语句,表明它在子分支内。
  4. 提交新文件:
    • 屏幕底部有一个 “Commit new file”(提交新文件)区域。
    • 提交消息非常重要,因为它有助于跟踪所做的更改。
    • 添加一条描述性提交消息,例如:Create test child.py,以方便团队查阅。
    • 点击 “Commit new file”。  点击“提交新文件”。
  5. 验证主分支:该文件已添加到 child branch。您可以通过点击分支选择器菜单中的 ‘master’ 来转到主分支进行验证,您会看到新文件没有被添加到 master 分支中。


拉取请求与分支合并

在您创建了新文件、测试并确保它正常工作后,您可以通过创建拉取请求 (Pull Request, PR) 来将 child branch 中的更改反映到 master 分支中。

拉取请求 (PR) 的作用

  • PR 显示两个分支中内容的差异。
  • 它可以通知其他团队成员主分支的更改和编辑。
  • 协作与审核:理想情况下,另一位团队成员会审查这些更改,并批准它们合并到 master 分支。
  • PR 是 GitHub 上协作的一种手段。当您打开一个 PR 时,您是提议您的更改。

创建和合并 PR 步骤

  1. 打开 PR:要打开 PR 以查看分支之间的差异,请点击 “Compare and pull request”(比较并拉取请求)。
  2. 查看差异:向下滚动到屏幕底部,您将看到两个分支之间的比较。它会显示一个文件已更改,该文件有两次添加(您添加到文件的两行),零次删除。
  3. 创建 PR:
    • 添加标题和一个可选的评论。
    • 点击 “Create pull request”(创建拉取请求)。
  4. 合并:下一个屏幕将显示 PR 的详细信息。如果您对更改满意,请点击 “Merge pull request”(合并拉取请求),然后点击 “Confirm”(确认)。
  5. 确认和清理:您将收到 PR 已成功合并的确认信息。如果您不再需要编辑或添加新信息,可以删除该分支。

最终结果:现在,child branch 已完全合并到 master 分支中。您可以检查 master 分支并验证它包含 test child.py 文件。


视频总结

在本视频中,您学习了:

  • 分支是您的存储库的快照,您可以在其中进行更改。
  • 在子分支中,您可以构建、编辑和测试更改,然后将其合并到 master 分支。
  • 可以创建多个分支并将其合并到 master,以确保一个成员所做的更改不会妨碍或影响其他成员的工作流程。
  • 拉取请求 (PR) 是一种通知其他团队成员主分支更改和编辑的方式。