貢獻於GitHub專案(Git Pull Request入門)

所以你在 GitHub 上遇到了一個項目,你想要貢獻給那個項目。但是該怎麼做呢?你不認為自己是一個開發人員,而且源代碼控制術語對你來說是陌生的。別擔心。答案就是 Git 拉取請求(PR)。

在這個教程中,你將學習如何通過 Git 拉取請求來將你的代碼貢獻到 GitHub 存儲庫(repo)中的項目。

貢獻到 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. 存储库所有者将您的更改合并到主分支

先决条件

要按照本教程中的演示进行操作,请确保您具备以下条件:

複製 GitHub 儲存庫

由於您無法直接更改他人的 GitHub 儲存庫,因此您必須先創建自己的儲存庫。為此,您需要複製或在您自己的 GitHub 帳戶下創建該儲存庫的副本。操作步驟如下:

1. 打開您喜歡的網絡瀏覽器,導航到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 存儲庫中的代碼是直接使用網頁瀏覽器。通過使用 github.com,您無需擔心在本地設置任何軟件。但是,如果您需要進行任何中等複雜的更改,使用網頁瀏覽器很快就會變成一場頭痛。

假設您仍然在瀏覽器中查看已分叉的存儲庫:

1. 點擊已分叉存儲庫中的 SampleText.ps1 腳本,然後點擊鉛筆圖標進行編輯。

Modifying code via GitHub

2. 對文件進行更改,然後點擊下方的 Commit changes 按鈕,如下所示,可選擇添加提交消息。

Committing changes via GitHub

通過 Git 提交代碼

如果您計劃對 GitHub 存儲庫中的文件進行多次簡單更改,應該使用 Git。Git 允許您將整個存儲庫克隆到本地計算機上,在您喜歡的代碼編輯器中編輯代碼。

克隆

要在本地工作中對已分叉存儲庫的代碼進行操作,您首先需要使用 Git 將整個存儲庫克隆到本地計算機。操作如下:

假設您仍然在 github.com 上的已分叉存儲庫:

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存儲庫包含了已更改的文件,使用 push 將該更改推送到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/