如何在 Github 上建立一個拉取請求

2019-08-12 08:38:00

學習如何復刻一個倉庫,進行更改,並要求維護人員審查並合併它。

你知道如何使用 git 了,你有一個 GitHub 倉庫並且可以向它推播。這一切都很好。但是你如何為他人的 GitHub 專案做出貢獻? 這是我在學習 git 和 GitHub 之後想知道的。在本文中,我將解釋如何復刻fork一個 git 倉庫、進行更改並提交一個拉取請求pull request

當你想要在一個 GitHub 專案上工作時,第一步是復刻一個倉庫。

Forking a GitHub repo

你可以使用我的演示倉庫試一試。

當你在這個頁面時,單擊右上角的 “Fork”(復刻)按鈕。這將在你的 GitHub 使用者賬戶下建立我的演示倉庫的一個新副本,其 URL 如下:

https://github.com/<你的使用者名稱>/demo

這個副本包含了原始倉庫中的所有程式碼、分支和提交。

接下來,開啟你計算機上的終端並執行命令來克隆clone倉庫:

git clone https://github.com/<你的使用者名稱>/demo

一旦倉庫被克隆後,你需要做兩件事:

1、通過發出命令建立一個新分支 new_branch

git checkout -b new_branch

2、使用以下命令為上游倉庫建立一個新的遠端remote

git remote add upstream https://github.com/kedark3/demo

在這種情況下,“上游倉庫”指的是你建立復刻來自的原始倉庫。

現在你可以更改程式碼了。以下程式碼建立一個新分支,進行任意更改,並將其推播到 new_branch 分支:

$ git checkout -b new_branchSwitched to a new branch ‘new_branch’$ echo “some test file” &gt; test$ cat testSome test file$ git statusOn branch new_branchNo commits yetUntracked files:  (use "git add &lt;file&gt;..." to include in what will be committed)    testnothing added to commit but untracked files present (use "git add" to track)$ git add test$ git commit -S -m "Adding a test file to new_branch"[new_branch (root-commit) 4265ec8] Adding a test file to new_branch 1 file changed, 1 insertion(+) create mode 100644 test$ git push -u origin new_branchEnumerating objects: 3, done.Counting objects: 100% (3/3), done.Writing objects: 100% (3/3), 918 bytes | 918.00 KiB/s, done.Total 3 (delta 0), reused 0 (delta 0)Remote: Create a pull request for ‘new_branch’ on GitHub by visiting:Remote:   <http://github.com/example/Demo/pull/new/new\_branch>Remote: * [new branch]         new_branch -&gt; new_branch

一旦你將更改推播到您的倉庫後, “Compare & pull request”(比較和拉取請求)按鈕將出現在GitHub。

GitHub's Compare & Pull Request button

單擊它,你將進入此螢幕:

GitHub's Open pull request button

單擊 “Create pull request”(建立拉取請求)按鈕開啟一個拉取請求。這將允許倉庫的維護者們審查你的貢獻。然後,如果你的貢獻是沒問題的,他們可以合併它,或者他們可能會要求你做一些改變。

精簡版

總之,如果您想為一個專案做出貢獻,最簡單的方法是:

  1. 找到您想要貢獻的專案
  2. 復刻它
  3. 將其克隆到你的本地系統
  4. 建立一個新的分支
  5. 進行你的更改
  6. 將其推播回你的倉庫
  7. 單擊 “Compare & pull request”(比較和拉取請求)按鈕
  8. 單擊 “Create pull request”(建立拉取請求)以開啟一個新的拉取請求

如果審閱者要求更改,請重複步驟 5 和 6,為你的拉取請求新增更多提交。

快樂編碼!