什麼是拉取請求(PR)?
拉取請求(PR)是向GitHub中的倉庫做出貢獻的一種方式。拉取請求允許我們向自己的倉庫,團隊倉庫或開源倉庫提供程式碼。
倉庫需要是公開的,或者你需要獲得提交PR的許可權。如果你有許可權,請繼續並執行接下來的步驟!如果不這樣做,則只需“Fork或Clone”倉庫即可。一旦你把它Fork了,它就會以Fork的形式存在於你自己的GitHub賬戶中。
為什麼提出拉取請求?在協作編碼領域,拉取請求非常重要。如果你曾經聽說過開源一詞,那麼你可能會熟悉讓任何人看到你的程式碼併為其提出建議的概念。
你甚至可以為一些程式碼更改做出貢獻,甚至為最喜歡的專案(例如React)上的問題做出貢獻。我們可以看到其他人所做的拉取請求,以幫助使React成為一個更好的庫。
你為什麼要做一個Pull Request的例子是,你在一個團隊中工作並且你對資源庫有貢獻。建立PR很重要,因為在完成程式碼審查並獲得隊友批准之前,我們不希望推送到master分支。
Clone一個專案有兩種方法可以啟動該過程。
克隆他人的專案從頭開始的自己的專案(不太可能)最常見的情況是第一條。因此,我們將通過將其克隆到先前建立的專案中來開始這個示例。這是通過命令 create-react-app 建立的基本React應用。我們可以在這裡找到GitHub倉庫:
GitHub倉庫:https://github.com/kapehe-ok/react-git-pr
進入該GitHub倉庫後,單擊綠色按鈕“Clone or download”,下拉列表將為我們顯示受密碼保護的SSH金鑰。您可以通過單擊該下拉選單右上角的“Use HTTPS”將其更改為HTTP。我們將在本文中使用SSH方式。
複製該金鑰!我們將很快需要它!在你的終端(本例中為Mac OS X)上,導航到計算機中你希望此專案存在的位置。
使用以下命令,我們將正式克隆專案,並能夠將所有程式碼儲存在本地計算機上:
git clone [[email protected]](mailto:[email protected]):kapehe-ok/react-git-pr.git
使用命令進入專案:
cd react-git-pr
現在我們克隆到了專案中,可以開始做我們的第一個PR了!
在本文的其餘部分,讓我們在VS Code中工作,繼續並在VS Code中開啟程式碼。
製作一個分支注意!在終端上,開啟VS Code的快捷方式是 code。這需要安裝,在VS Code中,點選“ cmd + shift + P”。鍵入“Shell command: Install 'code' command in PATH”,然後點選“ Enter”。從現在開始,您可以使用code,從終端開啟VS Code。
進行PR時,我們要建立自己的分支。如果有人讓你建立一個PR,那是因為他們不想讓你去主分支。使用以下命令,我們跳出Master分支並進入自己的分支:
git checkout -b kapehe-first-pr
這裡的 -b 表示我們正在建立一個全新的分支機構,kapehe-first-pr 是分支的名稱,你可以隨意為分支命名任何合適的名稱。
想仔細檢查一下你是否在新的分支中?在VS Code的左下角,你會看到你所在的分支名稱。如果我們在那裡看到“kapehe-first-pr”,那麼我們就做對了!如果我們看到“master”,一定是哪裡出了問題!
建立一個Change在程式碼中做任何改動,只是為了讓我們在PR中提交一個改動。我們可以進入 src/App.js 並在其中編輯 <div>。我們可以對其進行編輯以使其具有 <h1>哈哈哈哈</ h1> 讓我們點選“儲存”,準備好進行此PR!
發出Pull Request我們將在此處執行一系列命令以進行我們的第一個正式PR,我們將逐一討論!
/ git status /
我們要檢查所有更改檔案的狀態。為此,請執行以下命令:
git status
我們更改和儲存的所有檔案都將在這裡以紅色顯示。檢視下面螢幕截圖以檢視效果,因為我們更改了 src/App.js 檔案,所以在這裡看到紅色。
/ git add /
有很多方法可以將檔案新增到佇列中以推送到PR中,在本文中,我們將介紹兩種不同的方法。
git add . ——這將新增執行 git status 時顯示為紅色的每個檔案。git add <filename> ——此命令使我們可以鍵入要新增的特定檔案。在今天的示例中,我們將使用第二種方法。繼續執行命令:
git add src/App.js我們什麼也不會發生!那麼我們怎麼知道它是被加進去的呢?或者至少添加了正確的檔案?再次執行我們的 git status 命令!
現在,我們看到 src/App.js 變成了綠色!這意味著已經添加了它,我們可以提交這個改動了。
/ git commit /
這個命令就是我們命名提交的地方,我們通常希望提交訊息與檔案更新中發生的事情一致。現在我們的檔案已新增到佇列中,讓我們繼續進行提交。執行以下命令:
git commit -m "更新 App.js div text"此命令中的 -m 表示我們要在此命令中建立訊息,“Updating App.js div text”是我們的提交訊息。我們可以把我們想要的放在這裡,試著讓它對發生的變化有意義。
/ git push /
我們到了最後衝刺的時候了!
要將所有更新後的工作以Pull Request的形式推送到GitHub倉庫,請執行以下命令。
git push origin kapehe-first-pr該命令的最後一部分是我們的分支名稱!確保與分支名稱完全匹配,以便在推送時沒有問題。
我們推了!但我們還沒完!
建立 Pull Request!在這最後一步,我們需要回到GitHub倉庫。
現在,我們應該看到以下內容:
那條淡黃色的線是新的!那顯示了我們的分支,並且建立了“(不到一分鐘前)”的推送。看到顯示“Compare & pull request”的綠色按鈕。讓我們開始吧!
完成此操作後,我們可以在此處重新命名Pull Request,但現在,我們將其保留為提交時命名的名稱,即“Updating App.js div text”。點選綠色按鈕,顯示“Create pull request”。
完成!我們已經建立了第一個Pull Request!
確認 Pull Request要仔細檢查是否一切正常,我們可以點選 "Pull requests "選項卡,在那裡,我們會看到我們的PR和其他的PR。
單擊該按鈕後,我們將看到有關PR的詳細資訊。我們可以通過單擊“Files Changed”選項卡檢視更改的內容,可以檢視“Commits”選項卡下發生的所有提交,甚至可以合併到“Conversation”選項卡上的master分支中。
要合併到主伺服器,我們將單擊顯示“Merge pull request”的綠色按鈕,只有當PR被批准時才這樣做,最有可能的是,專案的所有者將協調誰將PR合併為master。
總結讓我們快速回顧一下這些步驟:
克隆到專案從master分支建立一個新分支git statusgit add . 或者 git add <filename>git statusgit commit -m "message here"git push origin <branchname>轉到GitHub中的倉庫並建立拉取請求!恭喜!! PR已建立!現在我們已經建立了第一個Pull Request,請繼續練習。做一個自己的專案,從中建立分支,然後練習建立PR!你練習得越多,我們就會越好!
原文:https://scotch.io/tutorials/creating-your-first-pull-request-in-github#toc-confirming-the-pull-request,作者:Kapehe,翻譯:公眾號《前端全棧開發者》