Hacktoberfest:如何在GitHub上提交你的第一个拉取请求
###介绍
Hacktoberfest 是为期一个月的开源软件庆祝活动,由 DigitalOcean 运营,并向我们全球社区的每个人开放。 要参与,您需要在 10 月份向公共 GitHub 存储库提交四个高质量的拉取请求。 完成挑战后,您将获得特别奖品,包括一件独家的 Hacktoberfest T 恤。
您可以在 10 月 1 日至 10 月 31 日之间的任何时间注册,我们鼓励您从 9 月开始与其他开发人员和 Hacktoberfest 爱好者进行虚拟活动和信息交流会。
在本教程中,我们将向您介绍 Git(用于提交拉取请求的版本控制系统)和 GitHub(我们将用于跟踪您的进度的存储库托管服务)。 在本教程结束时,您将准备好提交您的第一个拉取请求,并且将顺利参加 Hacktoberfest!
- 版本控制
在开始使用 Git 和 GitHub 之前,让我们先谈谈版本控制。 当开发人员一起处理一个项目时,他们通常需要在相同的代码库上工作。 当他们工作时,每个开发人员都需要了解其他开发人员所做的更改,以免重复工作或在已经完成的内容上编写代码。
版本控制系统用作代码的 保存 程序,它为项目分配版本并跟踪项目中每个文件随时间所做的更改。 通过这种方式,开发人员可以通过签入最新版本来共同处理项目,以查看在处理他们的项目代码部分之前所做的更改。
- Git 和 GitHub
Git 是一个用于管理各种规模的开发人员项目的版本控制系统,由 Linux 的创建者 Linus Torvalds 于 2005 年创建,旨在帮助开发人员以快速、高效和廉价的方式贡献代码和共享代码修订。 Git 使开发人员能够编辑、共享和发布代码,促进协作和团队合作。
GitHub 是一个基于云的 git 存储库托管服务,它允许开发人员获取他们在本地计算机上编写的代码并与全世界共享。 它提供了一种通过 存储库 或中央文件存储位置公开共享本地计算机上版本跟踪项目的方法,并且取决于项目的可用性(它可以是公共或私有存储库),其他开发人员可以下载项目以编辑代码、提供见解等。
要开始使用 GitHub,您可以在 GitHub 创建一个帐户。 有关如何执行此操作的更多详细信息,请参阅 Hacktoberfest 资源页面 。
- 克隆存储库
我们现在将克隆和编辑我们的第一个 GitHub 存储库。 首先,让我们导航到要克隆的存储库。 在本教程中,我们将使用 Cloud Haiku 存储库 。 在克隆此存储库之前,即将 GitHub 上的代码副本复制到本地计算机上,您需要将整个存储库的副本复制到您自己的 GitHub 帐户中。 这称为存储库的 fork,它允许您在不影响主代码库的情况下开发代码。
要分叉存储库,请单击存储库右上角的 Fork
按钮。 要克隆,请单击 code
按钮,复制提供的链接,然后观察 GitHub 获取此存储库并将其作为副本添加到您的帐户。 您的名字现在应该显示为该存储库的创建者,它是主要 haiku 存储库的“分支”。
接下来,导航到命令行界面以在本地计算机上克隆项目。您可以使用 git clone
命令执行此操作,该命令将克隆或复制我刚刚从 haiku 存储库创建的 fork 到我的本地机器。 这将使您能够在本地(在您自己的机器上)对代码库进行更改。
cd ~ git clone https://github.com/sammy/cloud_haiku
- 编辑代码内容
您现在在本地计算机上拥有 Cloud Haiku 存储库的副本,因此您可以准备好您的贡献了。 使用命令行界面,导航到克隆存储库的文件夹。 如果你跟着,你应该在你的主目录中有一个 cloud_haiku
文件夹:
cd ~/cloud_haiku
有许多文本编辑器和集成开发环境 (IDE) 可用于编辑代码。 IDE 通常按编程语言进行细分,并包含一系列有用的功能,以简化使用该语言开发应用程序的过程。 如果您当前没有在您的工作机器中设置 IDE,请考虑查看 Hacktoberfest 的资源页面 以获取有关如何选择 IDE 的建议。
花时间阅读和理解项目的组织方式和贡献指南,并找到您可以处理的代码部分,这一点很重要。 在进行更改之前,请阅读提供的任何相关文档。 接下来,让我们提交一个俳句!
- 将内容添加到远程存储库
现在我们对 haiku 存储库进行了更改,我们需要跟踪并保存该更改。 跟踪更改的第一步是将 添加 到您正在处理的版本中。 为此,我们将执行命令 git add .
:
git add .
以这种方式编写命令允许您跨文件添加对存储库所做的所有更改。 如果您只需要提交对单个文件的更改,请使用 git add filename
:
git add sammyhaiku.md
运行 add
命令后,您不会得到任何确认。 要查看您的更改是否已包含在准备提交的文件列表中,您可以执行命令 git status
:
git status
这使您可以检查跟踪更改的状态——您会看到您的文件已被添加,但没有 committed 作为更改。 如果您需要在将更改正式跟踪为新代码或已编辑代码之前对其进行修改,Git 会提供此步骤。
接下来,让我们提交我们的更改。 执行命令 git commit
,并添加一条消息,以便与此项目合作的其他开发人员知道您所做的更改:
git commit -m "added sammy haiku"
使用消息编写您的提交可以让开发人员了解所做的更改 - 此消息与提交 ID 和您的用户名一起被跟踪。
提交后,我们需要将 push
从本地机器更改到 GitHub 上的远程存储库。 为此,让我们执行命令 git push
:
git push
在这里,我们可以为推送指定一个来源——在这种情况下,我们希望我们的贡献进入我们的 DigitalOcean haiku 存储库的分叉版本。
回顾一下,到目前为止,我们已经确定了一个我们想要编辑的存储库,并使用 fork
和 clone
将该存储库的副本复制到我们的 GitHub 帐户和本地计算机中。 我们进行了更改,并使用 git add
提交了更改。 然后,我们通过运行 git commit
来巩固我们的更改,它提交了更改。 git push
将我们的更改从本地机器推送到 GitHub 上的远程存储库。 如果我们查看 GitHub,我们会看到我们所做的更改反映在我们的 haiku 存储库副本中的文件中。
- 创建拉取请求
我们现在已经准备好让项目的维护者知道我们对存储库有一个我们有信心并准备提交的更改。 为此,我们将单击右侧的 拉取请求 按钮。
单击拉取请求按钮后,将打开一个新页面,其中包含一个解释我们所做更改的表单,并显示所做的更改是否与现有内容有任何冲突。 我们将添加一个适当的标题来详细说明更改,并在描述中添加对所做更改和原因的解释。 您在此处添加的内容可能因项目而异 - 请查看项目的协作指南以确保您的拉取请求格式正确。
在添加所做更改的标题和描述后,我们将扫描拉取请求页面以确保我们提交的更改不会与对代码存储库所做的现有更改发生冲突。 如果一切顺利,我们将在底部获得一个绿色的 submit pull request 按钮,该按钮会升级我们的请求以更改原始俳句代码库,任何查看该主要内容的人都将获得该贡献分支。 请耐心等待——维护人员可能需要一些时间来审核您的请求。 可以在拉取请求页面上添加修改和评论,对相同受影响文件的新提交将出现在请求的历史记录中。
恭喜——我们已经成功提交了我们的第一个拉取请求!
#结论
在本教程中,您了解了 Git 和 GitHub,并成功识别了更改并将其提交到公共存储库。 对于 Hacktoberfest,您需要提交 4 个有意义的拉取请求,因此,再次找到与您产生共鸣的项目并享受黑客攻击的乐趣!
要查看本教程的实际操作,这里有一个有用的视频,它会引导您完成提交第一个拉取请求的过程:
有关 Hacktoberfest 的更多信息,请访问我们的主页。 要了解有关 Git 的更多信息,请访问 如何使用 Git:参考指南。 有关 GitHub 的更多信息,请访问 GitHub 。