探索 GitHub 中的协作
学习目标
完成本单元后,您将能够:
- 建立促进协作的组织结构。
- 列出经常访问的 GitHub 存储库的部分。
- 描述与 GitHub 上的源代码一起出现的协作功能。
GitHub 存储库一览
在开始试用 Git 命令之前,让我们先了解一下 GitHub 的结构以及它如何帮助您与团队协作。
存储库是 GitHub 的最基本元素。把它想成项目文件夹就很容易理解了。但与笔记本电脑上的常规文件夹不同的是,GitHub 存储库还提供简单而强大的工具来与其他人协作。
存储库中包含与项目相关的所有文件(包括文档),并保留每个文件的更改历史记录。无论您是刚对 GitHub 产生兴趣亦或已经是主要贡献者,了解如何使用存储库都是必不可少的。
设置 GitHub 组织
有效规划的第一步是了解每个人的角色。在 GitHub 上建立团队和组织可让协作过程更加顺畅。
当您注册 GitHub 时,会自动创建一个用户帐户。用户帐户权限相当简单,只需将其他用户添加为特定存储库上的协作者即可。
组织帐户使您可以更细致地控制存储库权限。您为组织帐户创建不同的用户团队,然后授予这些团队访问特定存储库的权限。可以在团队级别分配权限(例如读取、写入、管理员等),但也可以逐个用户分配。
团队是 GitHub 的一项强大功能,既可以根据公司内部的实际团队结构进行构建,也可以按照员工指定角色之外的技能、兴趣和专业知识进行构建。
GitHub 上的存储库中有很多信息。首先要关注的最重要部分是代码、问题、拉取请求、操作和项目。
存储库中的代码
代码视图显示包含在存储库中的文件。可能包含项目代码、文档等重要文件。我们也将此视图称为项目的根视图。Git 版本控制将跟踪对这些文件的任何更改。
当您访问存储库时,代码视图会自动显示默认分支。创建存储库时,默认分支被称为 main,但您可以采用不同的名称。您还可以通过在下拉列表中选择一个分支来查看已推送到远程的分支。
使用问题进行项目讨论
问题是 GitHub 存储库中内置的类似论坛的线程讨论。您可以利用问题来跟踪错误和功能请求,并将问题分配给特定的团队成员。问题的目的是促进讨论、协作和社区参与。
问题简单而紧凑,旨在与 GitHub 的其他强大功能一起使用。一起使用时,问题会创建指向其他问题、拉取请求、标签、里程碑、项目等的链接。
拉取请求
拉取请求是两个分支间的比较。通常,您将 main(带有生产代码的分支)与用于开发环境中代码的另一个分支进行比较。拉取请求表示对代码的更改。这可能意味着添加、修改或删除在一个分支上创建的文件,因为作者希望将这些文件合并到另一个分支中(同样,通常是在生产代码中)。通常,拉取请求中完成的工作源自存储库中的问题。
您还可以在拉取请求中就两个分支之间的更改进行扩展对话。比方说,Ali 引入了一个 bug 修复,但是在解决这个修复的时候不小心产生了一个新的 bug。Sally 可以查看这项工作,向 Ali 发送快速评论(在拉取请求上)以明确新问题,然后自己解决问题或让 Ali 有机会在合并前进行快速编辑。
拉取请求通过促进代码审查和显示任何自动化测试的状态来帮助您编写更好的软件。请记住,拉取请求比较代码,提供一个关于该代码的对话平台,促进深入的代码审查,并与各种集成(包括测试)无缝协作。拉取请求是在 GitHub 上进行协作的最大优势之一。
操作
GitHub 操作允许您直接在 GitHub 存储库中创建自定义软件开发生命周期工作流。您可以编写单独的任务(即操作)并将它们组合起来以创建自定义工作流。工作流是自定义的自动化流程,您可以在您的存储库上设置这些流程,以在 GitHub 上构建、测试、打包、发布和部署任意代码项目。
您可以使用 GitHub 操作直接在您的存储库中构建强大的 CI/CD 功能。您还可以运行工作流以响应 GitHub 事件,例如推送、问题创建和新版本发布。
借助 GitHub 操作,您可以通过支持颜色和表情符号的实时日志实时查看工作流执行情况。这使您可以轻松识别并突出显示特定的行号,以分享成功或 CI/CD 构建失败。
使用项目组织您的工作
问题和拉取请求都是很棒的功能,可以为各种形式的协作带来巨大的好处。“项目”则是将两者结合起来,提供一种直观的方式来跟踪和规划大规模的工作。
借助项目,您可以在看板式面板上沿着自定义列移动任务卡、问题和拉取请求,以可视化您的工作。项目也可以在存储库或组织级别创建,因此可以将来自多个存储库的问题或拉取请求合并到一个计划页面中。