GitHub 流的组件

已完成

在本单元中,我们将查看 GitHub 流的以下组件:

  • 分支
  • 提交
  • 拉取请求
  • GitHub 流

分支是什么

在最后一部分中,我们在存储库中创建了一个新文件和一个新分支。

分支是 GitHub 体验的重要组成部分,因为我们可以在其中进行更改,而不会影响我们正在处理的整个项目。

分支是试验新功能或修补程序的安全场所。 如果犯了错误,可以恢复更改或推送其他更改来修复错误。 在合并分支之前,更改不会在默认分支上更新。

注意

或者,也可以创建一个新分支,并在终端中使用 git 将其签出。 命令将如下所示:git checkout -b newBranchName

什么是提交

在上一单元中,你通过推送某个提交将新文件添加到了存储库中。 让我们简单回顾一下什么是提交。

“提交”是分支上对一个或多个文件的更改。 每次创建提交时,都会分配唯一的 ID 并跟踪,以及时间和参与者。 提交为查看文件或链接项(如问题或拉取请求)的历史记录的任何人提供了清晰的审核线索。

向主分支进行的 GitHub 提交列表的屏幕截图。

在 git 存储库中,文件在经历版本控制过程时可以以多种有效状态存在。 Git 存储库中文件的主要状态包括:未跟踪已跟踪

未跟踪:文件尚不是 Git 存储库的一部分时的初始状态。 Git 不知道其存在。

已跟踪:跟踪的文件是 Git 正在主动监视的文件。 它可能会处于以下任一子状态:

  • 未修改:已在跟踪文件,但自上次提交以来未对其进行修改。
  • 已修改:文件自上次提交以来已发生更改,但尚未暂存这些更改进行下一次提交。
  • 已暂存:已修改文件,并且已将更改添加到暂存区域(也称为索引)。 已准备好提交这些更改。
  • 已提交:文件位于存储库的数据库中。 它表示文件的最新提交版本。

这些状态和子状态对于与团队协作,了解项目过程中每个提交所在的位置非常重要。 现在,让我们继续了解拉取请求。

拉取请求是什么?

“拉取请求”是用于表示一个分支的提交已准备好合并到另一个分支的机制。

提交拉取请求的团队成员会请求一名或多名审阅者验证代码并批准合并。 这些审阅者可以对更改发表评论、添加自己的更改或使用拉取请求本身进行进一步讨论。

更改获得批准后(如果需要审批),拉取请求的源分支(比较分支)会合并到基分支中。

拉取请求和拉取请求中的注释的屏幕截图。

现在我们已经了解了所有要素,接下来我们看看 GitHub 流。

GitHub 流

屏幕截图显示了采用线性格式的 GitHub Flow 的可视表示形式,其中包括新的分支、提交、拉取请求,以及按该顺序将更改合并回 main。

GitHub 流可以定义为允许安全试验的轻型工作流。 可以使用分支、拉取请求和合并来测试新想法以及与团队的协作。

现在我们已经了解了 GitHub 的基础知识,接下来可以逐步了解 GitHub 流及其组件。

  1. 首先创建一个分支,使创建的更改、功能和修补程序不会影响主分支。
  2. 接下来,进行更改。 建议先将更改部署到功能分支,然后再合并到主分支。 这样做可确保更改在生产环境中有效。
  3. 现在,创建一个拉取请求,以请求协作者提供反馈。 拉取请求审查非常重要,以至于某些仓库需要批准审查才能合并拉取请求。
  4. 然后,查看并实施协作者的反馈。
  5. 对所做的更改感到满意后,让你的拉取请求获得批准,并将其合并到主分支。
  6. 最后,可以删除分支。 删除分支表示在该分支上的工作已完成,可阻止你或其他人意外使用旧分支。

就是这样,你已经经历了一个 GitHub 流周期!

让我们转到下一部分,了解问题和讨论之间的差异。