新手Github提交PR(Pull requests)詳細教程

一、什么是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了:
在這里插入圖片描述
管理員檢測沒問題就會合并你的代碼進入主倉庫了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/96856.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/96856.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/96856.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

本地通過跳板機連接無公網IP的內網服務器

本地環境:SSH client 堡壘機:有公網IP,有連接內網服務器的秘鑰 SSH配置: Host jmsHostName [堡壘機的公網IP]Port 22User rootIdentityFile ~/.ssh/id_rsaHost appHostName 10.0.0.14Port 22User rootIdentityFile ~/.ssh/svc-p…

B樹,B+樹,B*樹

下面我們來詳細講解一下 B樹、B樹、B*樹 這三種非常重要的多路平衡查找樹。它們在數據庫和文件系統中有著極其廣泛的應用。一、為什么需要這些樹結構?在開始之前,我們先思考一個問題:為什么已經有了二叉搜索樹(BST)、A…

汽車零部件工廠ESOP系統工業一體機如何選型

在汽車零部件工廠的生產管理中,ESOP 系統發揮著至關重要的作用。而工業一體機作為 ESOP 系統的關鍵硬件支撐,其選型的合理性直接關系到生產效率的提升、生產過程的精準控制以及生產數據的可靠采集與分析。因此,為汽車零部件工廠選擇一款適合的…

?維基框架 (Wiki Framework) 1.1.0 版本發布? 提供多模型AI輔助開發

介紹 多模型AI輔助開發? 維基框架1.1.0集成了主流AI引擎的統一接口,支持開發者按需調用不同模型的優勢能力: ?DeepSeek?:專注代碼生成與重構,擅長復雜業務邏輯實現 ?ChatGPT?:多模態推理能力,適用于…

LabVIEW調用MATLAB 的分形生成

LabVIEW 調用 MATLAB,可借前者可視化流程與硬件交互優勢,結合后者強數值計算、算法能力,復用成熟算法提速開發,還能靈活改代碼。但需匹配版本、裝運行環境,數據傳遞有性能損耗,腳本出錯需跨軟件調試。?優點…

ubuntu20.04開發ros2,使用docker安裝部署的詳細教程

學習docker的教程:可以直接在菜鳥教程上學習即可階段 0:系統檢查| 內容 | 建議 | |------|------| | 操作系統 | Ubuntu 22.04(與 ROS2 Humble 最匹配) | | 用戶權限 | 能執行 sudo |🧩 階段 1:在 Ubuntu 上…

SQL Server縮小日志文件.ldf的方法(適用于開發環境)

SQL Server縮小日志文件.ldf的方法(適用于開發環境) 核心概念:為什么日志文件會變大? 首先,理解原因至關重要。事務日志文件在以下情況下會增長: 大量操作:執行了大批量插入、更新或刪除操作&am…

2.3零基礎玩轉uni-app輪播圖:從入門到精通 (咸蝦米總結)

還在uni-app中的輪播圖組件頭疼嗎?看完這篇,讓你輕松掌握swiper的所有秘密!輪播圖的重要性 在現代移動應用開發中,輪播圖(Swiper)已成為展示焦點內容、廣告推廣和產品展示的首選組件。無論是電商平臺的商品…

FPGA學習筆記——AHT20溫濕度讀取并在串口顯示(IIC協議)

目錄 一、任務 二、分析 1.需要了解的 2.需要用到的模塊 3.流程分析 三、Visio圖 四、代碼 五、實驗現象 一、任務 使用IIC協議通信的AHT20,將溫濕度數據讀取出來,并在串口助手上顯示。 二、分析 1.需要了解的 需要了解IIC協議簡介 也可以看看E…

Pycharm SSH連接

添加遠程服務器文件——>設置——>項目下的Python解釋器——>添加解釋器——>SSH在彈出的彈窗中,輸入遠程的主機、端口和用戶名、一直下一步,得到如下圖所示的結果:選擇Conda 環境:第一步選擇Conda環境;第…

c# 讀取xml文件內的數據

好多大型的項目&#xff0c;把一些固定的參數都存在 xml文件里。創建c# winfom 項目&#xff0c;test_xml創建resources文件夾存放xml文件創建parameters.xml文件<root><test_xml><param name "threshold" value "128"/><param name …

Legion Y7000P IRX9 DriveList

Legion Y7000P IRX9 DriveList 聯想Y7000P驅動列表 驅動列表 intelwlan-TYY5057FK6MQBRF0.exe NVVGA-TYY5057F3M0H9RF0.exe RTKwlan-TYY5077FFSNECRF0.exe audio-TYY5057F4N1JARF0.exe chipset-TYY5037FB10X3RF0.exe hdr-TYY5027FXNF9AWF0.exe intelVGA-TYY5057F5R9J7RF…

編程與數學 02-017 Python 面向對象編程 23課題、測試面向對象的程序

編程與數學 02-017 Python 面向對象編程 23課題、測試面向對象的程序一、單元測試&#xff08;Unit Testing&#xff09;使用 unittest 模塊使用 pytest二、集成測試&#xff08;Integration Testing&#xff09;三、模擬對象&#xff08;Mocking&#xff09;四、測試驅動開發&…

[React]Antd Cascader組件地區選擇

前言表單中添加一個地區選擇功能&#xff0c;要求支持增刪改查功能。Cascader 使用Cascader組件動態加載地區選項。使用 loadData 實現動態加載選項&#xff0c;&#xff08;loadData 與 showSearch 無法一起使用&#xff09;。 這里使用了Form.Item組件。 <Form.Itemlabel{…

深度學習-----《PyTorch神經網絡高效訓練與測試:優化器對比、激活函數優化及實戰技巧》

一、訓練過程并行批量訓練機制一次性輸入64個批次數據&#xff0c;創建64個獨立神經網絡并行訓練。所有網絡共享參數&#xff08;Ω&#xff09;&#xff0c;更新時計算64個批次的平均損失&#xff0c;統一更新全局參數。梯度更新策略使用torch.no_grad()上下文管理器清理反向傳…

Matplotlib 可視化大師系列(五):plt.pie() - 展示組成部分的餅圖

目錄Matplotlib 可視化大師系列博客總覽Matplotlib 可視化大師系列&#xff08;五&#xff09;&#xff1a;plt.pie() - 展示組成部分的餅圖一、 餅圖是什么&#xff1f;何時使用&#xff08;何時避免&#xff09;&#xff1f;二、 函數原型與核心參數三、 從入門到精通&#x…

C++ Core Guidelines 核心理念

引言 C 是一門功能強大但復雜性極高的編程語言。為了幫助開發者更高效、安全地使用現代 C&#xff0c;C 核心指南&#xff08;CppCoreGuidelines&#xff09;應運而生。這份由 C 之父 Bjarne Stroustrup 等人主導的指南&#xff0c;提供了大量關于 C 編碼的規則、最佳實踐和設…

vue3 - 組件間的傳值

組件間傳參 父傳子v-on/props 父組件使用v-on:綁定要傳的參數:parentData"parentData"&#xff1a; <template><div><Child1 :parentData"parentData"></Child1></div> </template> <script setup lang"ts…

Kafka 在 6 大典型用例的落地實踐架構、參數與避坑清單

一、選型速查表場景關鍵目標推薦清單&#xff08;示例&#xff09;消息&#xff08;Messaging&#xff09;解耦、低延遲、可靠投遞acksall、enable.idempotencetrue、retries>0、min.insync.replicas2、合理分區鍵、DLT網站活動追蹤吞吐極高、可回放主題按類型拆分&#xff…