版本控制(3)

学习目标

完成本单元后,您将能够:

  • 建立促进协作的组织结构。
  • 列出GitHub存储库中最常访问的部分。
  • 在GitHub中解释与您的源代码一起存在的协作功能。

GitHub Logo

参观一个GitHub仓库

在我们深入了解单元4中的Git命令之前,我们先来谈谈GitHub的结构,以及它如何帮助您与团队协作。

存储库是GitHub的最基本的元素。把它想象成一个项目文件夹是最简单的。但是,与笔记本电脑上的普通文件夹不同,GitHub存储库还提供了简单而强大的与其他人协作的工具。

存储库包含与项目相关的所有文件(包括文档),并存储每个文件的修订历史记录。无论你只是好奇,或者你是一个主要的贡献者,知道你周围存储库的方式是必不可少的!

Create a Git Repository

计划与代码和谐一致的任务

规划和代码并排,但也完全交织在一个GitHub仓库。这范围从能够搜索特定代码的存储库到能够查看先前版本的文件的能力来识别哪些提交影响了这些版本以及什么对话被关联。

设置你的GitHub组织

有效的计划从了解谁是谁开始。在GitHub上建立团队和组织可以使协作过程更顺畅。

当你注册GitHub时,你会自动获得一个用户帐户。用户帐户的权限非常简单,您可以将人员添加为特定存储库的协作者。

组织帐户可以更精确地控制存储库权限。对他们来说,你创建了一批人,然后让这些团队访问特定的存储库。权限可以在团队级别进行分配(例如,读取,写入或管理),但您也可以在逐个用户的基础上进行。

团队是GitHub的一个强大功能,可以根据公司的实际团队结构进行构建,也可以基于可能在用户指定角色之外的技能,兴趣和专业知识进行临时组织。

GitHub上的存储库中有很多信息。最初,最重要的部分是代码,问题,合并请求和项目。

在存储库中的代码

代码视图是您可以在其中找到存储库中包含的文件的位置。这些文件可能包含项目代码,文档和其他重要文件。我们也称这个观点为项目的根源。这些文件的任何更改将通过Git版本控制进行跟踪。

当您访问存储库时,代码视图会自动显示默认分支。在创建存储库时,默认分支称为主分区,但如果您更喜欢不同的东西,则可以更改它。您也可以通过在下拉列表中选择分支来显示已经推送到远程的任何分支。

Screenshot showing switching between branches in a GitHub repository.

使用问题进行项目讨论

很像一个论坛,问题是一个线程讨论,并入GitHub存储库。您可以使用它们来跟踪错误和功能请求,并且可以将它们分配给特定的团队成员。它们旨在鼓励讨论,协作甚至社区参与。

问题是简单和轻量级的,并且意在与GitHub的其他强大功能结合使用。一起使用时,问题会创建与其他问题的链接,请求,标签,里程碑和项目。

拉取请求

拉请求是两个分支之间的比较。一般来说,这个比较是在master(生产代码的分支)和另一个用于开发代码的分支之间进行的。拉取请求表示对代码的更改。这可能意味着添加,修改或删除作者希望在另一个分支(通常在生产代码中)合并的分支上创建的文件。通常,在拉取请求中完成的工作源于存储库中的问题。

Screenshot showing the changes made to a file.

拉取请求也是一个可以扩展两个分支之间变化的对话的地方。比方说,阿里介绍了一个错误修复,但意外地创建一个新的错误时解决修复。莎莉可以查看这项工作,向阿里发出一个快速评论(请求拉),以便自己解决这个问题,或者自己解决问题,或者让阿里有机会在合并之前进行快速编辑。

Screenshot showing discussion around code changes in a commit.

通过简化代码审查和显示任何自动化测试的状态,提取请求可帮助您编写更好的软件。 这是不容忽视的 – 一个拉取请求比较代码,给出一个有关该代码的对话平台,鼓励协作彻底的代码审查,并与各种集成(包括测试!)无缝工作。 拉请求是GitHub上最强大的协作方面之一。

使用项目来组织你的工作

问题和拉请求是奇妙的,并提供各种协作风格巨大的好处。 项目将它们结合起来,使跟踪和规划更大规模的工作更直观。

Screenshot of GitHub’s Kanban style project boards.

通过项目,您可以使用看板样式板来查看自己的工作 – 移动任务卡,问题以及沿自定义列拉取请求。 项目也可以在存储库或组织级别创建,因此可以将问题或来自多个存储库的请求合并到一个计划页面中。