贡献GitHub项目(GitHub Pull请求入门)

所以你在GitHub上发现了一个项目,想要为该项目做出贡献。但是怎么做呢?你不认为自己是一个开发人员,而且源代码控制术语对你来说很陌生。别担心。答案是一个 Git 拉取请求(PR)。

在本教程中,你将学会如何通过 Git 拉取请求来为一个 GitHub 项目做出贡献,将你的代码加入到一个GitHub 仓库中。

为 GitHub 项目做贡献

到目前为止,你可能已经看到至少一个 GitHub 项目,觉得自己可以帮助修复一些错误、更新一些文档或者添加一个新功能。你想要参与进去,但是和许多其他 IT 专业人士一样,你不认为自己是一个软件开发人员。

Git 和 GitHub 传统上一直处于开发领域。但随着越来越多的基础设施转移到云端,以及基础设施即代码工具的出现,系统管理员开始在 GitHub 上进行更多的探索。

许多 IT 专业人员不知道从哪里开始。因此,在本文中,你将从零开始学习如何通过拉取请求向现有的 GitHub 项目贡献代码。

什么是拉取请求?

当你有一个能够为现有项目或 GitHub 仓库增加功能或价值的代码/修复时,你可以创建一个拉取请求。

尽管拉取请求是一个单一的操作,但最终结果(将您的代码合并到其他人的GitHub存储库中)涉及到五个大致的阶段,您将在本教程中学到。

1. 分叉或将原始存储库“复制”到您的GitHub帐户中

术语“分叉”有时会与术语“克隆”混淆。Git和GitHub是两个独立的产品。“分叉”是GitHub的术语,它在GitHub上创建了GitHub存储库的副本。“克隆”是Git的术语,它指的是通过下载远程Git存储库在您的计算机上创建本地Git存储库。

2. 提交代码到我们的个人分叉存储库,并将该代码推送到GitHub存储库

3. 向存储库所有者提交拉取请求

4. 存储库所有者审查并批准您在拉取请求中的更改

5. 存储库所有者将您的更改合并到主分支中

先决条件

要按照本教程中的演示进行操作,请确保您具有以下内容:

  • A GitHub account
  • A GitHub repo to request changes to – This tutorial will use a repo called git-pull-requests.
  • Git – 本教程将在Windows上的工作目录C:\Git中使用Git。
  • 设置Git以与您的GitHub帐户一起工作

分叉GitHub Repo

由于您无法直接更改其他人的GitHub存储库,因此您必须首先创建自己的存储库。 要做到这一点,您需要分叉或创建存储库的副本并将其放在您自己的GitHub帐户下。 要做到这一点:

1. 打开您喜欢的Web浏览器,导航到GitHub并登录。

2. 导航到教程存储库或您想要贡献的存储库,如下所示。

GitHub repository to fork

3. 在右上角,单击“Fork”按钮。 此按钮将自动在您的帐户中创建该存储库的副本。

Forking a GitHub repo

分叉后,您现在应该在您的存储库列表中看到相同的存储库。 您还可以看到此存储库是从Adam-the-Automator\git-pull-requests分叉出来的。

Forked GitHub repo

将新代码提交到您的个人分支

现在,您在GitHub帐户中有了自己的存储库的副本,是时候进行更改了。 您可以通过以下两种方式之一对GitHub存储库中的代码进行更改:直接通过github.com或通过Git本地。 让我们涵盖这两种方式。

通过github.com提交代码

最简单的方法修改 GitHub 存储库中的代码是直接使用 web 浏览器。通过使用 github.com,您无需担心在本地设置任何软件。但是,如果您需要进行任何稍微复杂的更改,使用 web 浏览器很快就会变成一种头痛的经历。

假设您仍然在浏览器中查看 fork 的存储库:

1. 点击您 fork 的存储库中的 SampleText.ps1 脚本,然后点击铅笔图标进行编辑。

Modifying code via GitHub

2. 对文件进行更改,然后点击下面显示的 Commit changes 按钮,可选择添加提交消息。

Committing changes via GitHub

通过 Git 提交代码

如果您计划在 GitHub 存储库中对文件进行多次简单更改,您应该使用 Git。Git 允许您将整个存储库克隆到本地计算机,并在您喜爱的代码编辑器中对代码进行编辑。

克隆

要在本地操作 fork 的存储库代码,您首先需要使用 Git 将整个存储库克隆到本地计算机上。操作步骤如下:

假设您仍然在 github.com 上的 fork 存储库页面:

1. 点击 Code 按钮,并复制 HTTPS 部分下的 URL。

Finding the Git clone URL

2. 接下来,在您的计算机上打开命令行控制台。本教程将使用 Windows PowerShell。

3. 创建一个目录来存储克隆的存储库,并运行 git clone,指向从上一步复制的URL。

md C:\Git
 cd C:\Git
 git clone https://github.com/adbertram/git-pull-requests.git
Cloning a Git repo

提交和推送本地文件

一旦您克隆了 Git 存储库,就是修改文件并将这些更改提交到存储库的时候了。要做到这一点:

1. 打开您喜爱的代码编辑器,编辑并保存 C:\SampleText.ps1 脚本。

2. 在终端窗口中,确保您的工作目录是 C:\Git,然后运行以下命令。 git add 命令 将文件添加到本地 Git 存储库,但不保存它。它只是开始跟踪它。

cd C:\Git
 git add SampleText.ps1

3. 接下来,使用 git commit 命令 提交或保存 Git 存储库中的所有被跟踪文件。务必还要使用 -m 参数包含有关发生了什么变化的说明(提交消息)。

git commit -m "modified sampletext file"
Committing changes

4. 现在,本地 Git 存储库包含了已更改的文件,推送 这个变化到 GitHub 存储库中,使用 git push 命令。您应该会收到一个框,要求您提供 GitHub 用户名和密码以验证到您的派生 GitHub 存储库。

git push

5. 一旦您提供了 GitHub 用户名和密码,您应该会看到 Git 提供一些状态信息,如下所示。

Pushing Git commits

提交拉取请求

到目前为止,您已经在您自己的GitHub帐户中复制了要贡献的GitHub存储库(已分叉),并做出了您想要向所有者GitHub存储库请求的更改。现在是时候提交拉取请求,请求所有者接受您的更改。

1. 在GitHub上导航至您分叉的存储库。

2. 单击拉取请求和下面显示的新拉取请求

Creating a pull request

3. 在拉取请求页面上,您将看到将进行比较的两个存储库以及您要求合并到所有者GitHub存储库中的每个提交。单击创建拉取请求

Creating a GitHub pull request

4. 为拉取请求提供标题,然后单击创建拉取请求

Opening a Git pull request

然后您将在原始GitHub存储库中看到一个拉取请求。此时,您的工作已完成,现在是等待所有者的时间。

审查和接受拉取请求

一旦您创建了拉取请求,它将显示在原始GitHub存储库的拉取请求下,如下所示。

Open pull request under the original GitHub repo

此时,所有者现在要么会向您提供评论,您可以在拉取请求上进行协作。要么,他们可以立即通过单击合并拉取请求来合并它。

一旦他们将拉取请求与原始代码合并,拉取请求将进入已合并状态,代码将与原始存储库合并!

Merged pull request

现在,您可以看到您是更改的文件的贡献者,并且已被合并。

Contributor on changed file

结束

在这个教程中,你学会了如何创建 Git 拉取请求的每一个步骤。拉取请求是在 GitHub 仓库上进行协作的好方法。

现在你知道如何为 GitHub 项目做贡献了,你下一个想要贡献的仓库是什么?

Source:
https://adamtheautomator.com/git-pull-request/