一、什么是Pull requests?
Pull Requests(PR)是代碼協作平臺(如 GitHub、GitLab 等)中的一種功能,用于提議將某分支的代碼變更合并到另一個分支(通常是主分支)。它允許開發者在合并前進行代碼審查、討論和修改,是團隊協作開發的核心工具之一。
二、提交PR的作用
GitHub的Pull Request(PR)是協作開發中的核心功能,主要用于代碼審查、討論和合并貢獻。以下是其主要作用:
促進代碼審查與改進
PR允許貢獻者將代碼變更提交給項目維護者,維護者可以查看修改內容,提出建議或請求進一步調整。通過評論和討論,確保代碼質量符合項目標準。
簡化協作流程
開源項目中,非核心成員通過PR提交代碼變更,無需直接寫入主倉庫。維護者擁有最終合并權限,避免未經審核的代碼影響主分支穩定性。
記錄變更歷史
PR包含完整的修改描述、討論記錄和審查意見,形成可追溯的文檔。合并后自動關聯提交歷史,便于后續排查問題或理解代碼演進過程。
自動化集成檢查
GitHub可配置CI/CD工具(如Actions),在PR階段自動運行測試、lint檢查或構建流程。失敗時會阻止合并,確保主分支始終處于可部署狀態。
支持分階段合并
大型項目可能使用多級PR流程,例如從開發分支提交到測試分支,再合并到主分支。不同環境對應不同審查標準,降低風險。
非代碼類協作
PR不僅限于代碼,也可用于文檔更新、配置文件修改等。任何倉庫內容的變更均可通過此機制提交和審核。
權限管理工具
對于企業或私有項目,PR是實施代碼所有權(Code Ownership)策略的關鍵,特定文件修改需指定人員審批后方可合并。
通過PR機制,GitHub將分布式協作流程標準化,成為現代軟件開發中質量控制的核心環節。
三、提交PR流程
我們以國內嵌入式操作系統RT-thread為例:
1、注冊Github賬戶
首先需要注冊一個自己的Github賬戶。
2、進入rt-thread倉庫
https://github.com/RT-Thread/rt-thread,點擊鏈接進入。
3、fork一份rt-thread源碼進入自己倉庫
我已經fork過了,所以會有下面的提示,沒fork過的話選擇自己的賬戶路徑就OK了。
如果是較早之前fork的倉庫,可以先和上游的倉庫同步一下:
4、將代碼從自己倉庫拉取到本地
Github下載安裝,點擊鏈接進入
等待clone完成:
Github為國外網站,所以下載起來會比較慢。
5、創建一個新的分支
6、修改需要修改的部分
加入新的內容
7、提交推送
8、發起PR
填寫相關內容
根據要求檢查代碼:
下面可以看到修改的內容:
檢查沒問題后點擊按鈕創建:
此時你就可以在rt-thread倉庫看到你發起的PR了:
管理員檢測沒問題就會合并你的代碼進入主倉庫了。