【GitHub】如何在github上提交PR(Pull Request) + 多个pr同时提交、互不干扰

news2024/11/24 16:35:53

【GitHub】如何在github上提交PR(Pull Request

  • 写在最前面
      • 1. 准备工作
        • 1.1 注册 GitHub 账号
        • 1.2 了解 Git 基础
        • 1.3 找到一个项目
      • 2. 创建你的 PR
        • 2.1 Fork 和克隆仓库
        • 2.2 创建一个新的分支
        • 2.3 进行更改
        • 2.4 推送更改到 GitHub
        • 2.5 创建 Pull Request
      • 3. 优化你的 PR
        • 3.1 保持提交清晰
        • 3.2 遵守项目约定
        • 3.3 沟通
        • 3.4 测试
      • 4. 如何提交多个PR
        • git代码版本
        • 页面操作版本
      • 小结


请添加图片描述

🌈你好呀!我是 是Yu欸
🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~
🚀 欢迎一起踏上探险之旅,挖掘无限可能,共同成长!

写在最前面

GitHub 是全球最大的代码托管平台之一,允许开发者共享代码、协作开发,并进行版本控制。在这个平台上,Pull Request(简称 PR)是一个非常关键的功能,允许你向其他项目贡献代码。这篇博客将详尽介绍如何在 GitHub 上成功提交 PR,包括准备工作、创建 PR 的步骤,以及如何优化你的 PR 以增加被接受的可能性。

1. 准备工作

1.1 注册 GitHub 账号

如果你还没有 GitHub 账号,你需要先注册一个。访问 GitHub 官网,点击右上角的“Sign up”按钮,按照提示完成注册流程。

1.2 了解 Git 基础

在尝试提交 PR 前,你需要具备基本的 Git 知识。Git 是一个分布式版本控制系统,广泛用于软件开发中跟踪代码更改。如果你不熟悉 Git,建议先学习以下基础命令:

  • git clone: 克隆一个远程仓库到本地
  • git branch: 管理分支
  • git checkout: 切换分支
  • git add: 添加文件到暂存区
  • git commit: 提交更改
  • git push: 将本地更改推送到远程仓库
1.3 找到一个项目

在 GitHub 上,找到一个你感兴趣的开源项目,通常你可以通过项目的 README 文件了解如何贡献代码。确保你阅读了项目的贡献指南(CONTRIBUTING.md),这对于接下来的步骤非常重要。

2. 创建你的 PR

2.1 Fork 和克隆仓库

首先,你需要将项目仓库“Fork”到你的账户下。这可以通过点击项目主页上的“Fork”按钮来完成。Fork 完成后,你将拥有该仓库的副本,接着你需要将其克隆到本地进行修改。

在这里插入图片描述

使用以下命令克隆仓库:

git clone https://github.com/your-username/repository-name.git
cd repository-name
2.2 创建一个新的分支

在你的本地仓库中创建一个新分支进行工作,这是一个好习惯。你可以使用以下命令创建并切换到一个新分支:

git checkout -b feature-branch-name
2.3 进行更改

在新分支中,进行你想要的更改。这可能是添加新功能、修复错误或改进文档。完成更改后,使用 git addgit commit 命令提交这些更改。

git add .
git commit -m "Add a descriptive commit message"
2.4 推送更改到 GitHub

将你的更改推送到你的 GitHub 仓库:

git push origin feature-branch-name
2.5 创建 Pull Request

回到 GitHub,在你的仓库页面上,你会看到一个“Compare & pull request”按钮。点击它,选择你的新分支和原始仓库的目标分支(通常是 mainmaster),填写 PR 的标题和描述,解释你的更改和为什么应该接受这些更改。

在这里插入图片描述

3. 优化你的 PR

3.1 保持提交清晰

确保每个提交都紧密相关,并且提交信息清晰明了。这会使项目维护者更容易理解你的更改,并加快 PR 的审查过程。

3.2 遵守项目约定

遵守项目的编码规范和命名约定。这不仅

展示了你对项目的尊重,也减少了因风格不一致导致的额外修改。

3.3 沟通

PR 的过程中,维护者可能会有反馈或要求你进行更改。保持开放的态度,积极响应反馈,并按需修改你的 PR。

3.4 测试

在提交 PR 之前,确保你的更改没有引入任何错误。运行项目中的测试,并尽可能添加你自己的测试,以验证功能。

4. 如何提交多个PR

注意:同一个项目只能fork一次,所以可以在fork的本地仓库下,创建多个新的分支

git代码版本

创建新分支:为每个pull请求创建一个新分支。在命令行中使用以下命令创建并切换到一个新分支:

$ git checkout -b new-branch

进行修改:在新分支上进行任何需要的修改或添加新功能。
提交变更:使用以下命令将修改提交到你fork的仓库中:

$ git add .
$ git commit -m "Your commit message"
$ git push origin new-branch
页面操作版本

发起pull请求:在GitHub上,导航到你fork的仓库页面。点击”New pull request”按钮,选择你的分支和主仓库的分支,填写描述信息,并提交pull请求。

在这里插入图片描述
然后提交新pr就行
在这里插入图片描述

小结

提交 PR 是开源社区中的一种重要的参与方式,它不仅可以帮助你提高编程技能,还可以扩展你的技术网络。通过遵循上述步骤和建议,你将能够更有效地在 GitHub 上贡献代码。记住,每个贡献都是向开源社区学习和回馈的机会,每次提交都有可能影响成千上万的开发者和最终用户。


欢迎大家添加好友,持续发放粉丝福利!

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1626451.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

投资标的参考

1、中央汇金投资有限责任公司 1.1、香港中央结算有限公司 2、中央汇金投资有限责任公司持股列表 _ 东方财富网_ 数据频道东方财富网提供十大流通股东数据、十大股东数据、股东持股明细、股东持股变动统计、股东持股分析、股东持股统计、股东协同等数据,充分展示股东…

Java中的ArrayList

ArrayList<E>的特点 可调整大小的数组实现 <E>:是一种数据类型 ArrayList的构造方法 ArrayList list new ArrayList();创建一个空的集合对象 package dayhou40.day45; ​ import java.util.ArrayList; ​ public class Arraylisttest {public static void ma…

大数据第五天(操作hive的方式)

文章目录 操作hive的方式hive 存储位置hive 操作语法创建数据表的方式 操作hive的方式 hive 存储位置 hive 操作语法 创建数据表的方式 – 创建数据库 create database if not exists test我们创建数据库表的时候&#xff0c;hive是将我们的数据自动添加到数据表中&#xf…

uniapp——授权报错,选择合适的基础库

说明 我的小程序开发版本点击选择头像报错 更换基础库就好了

[华为OD] 给航天器一侧加装长方形或正方形的太阳能板 100

给航天器一侧加装长方形或正方形的太阳能板&#xff08;图中的红色斜线区域&#xff09;&#xff0c;需要先安装两个支 柱&#xff08;图中的黑色竖条&#xff09;&#xff0c;再在支柱的中间部分固定太阳能板。但航天器不同位置的支柱长度 不同&#xff0c;太阳能板的安装面…

JavaScript-3(内置对象+数组对象+字符串对象)

目录 1.预解析 2.对象 什么是对象 创建对象的三种方法 利用字面量创建方法 利用new Object创建对象 构造函数创建对象 new关键字 遍历对象 3.内置对象 Math对象 Math概述 Math随机数 Date日期对象 格式化日期 Date总的时间毫秒 4.数组对象 创建数组的两种方式…

tcp inflight 守恒算法背后的哲学

tcp inflight 守恒拥塞控制的正确性 很久以前我开始纠结 tcp 锯齿&#xff0c;很多年后我知道这叫 capacity-seeking&#xff0c;甚至说 tcp 属于 capacity-seeking protocol 的原因就是它早已深入人心的 aimd 行为&#xff0c;而该行为生成了 tcp 锯齿。 在消除锯齿&#xf…

01.Scala概述及环境配置

文章目录 [toc] 1.**Scala概述**2.**Scala环境搭建**2.1下载2.2环境变量配置 1.Scala概述 特点&#xff1a; 同样运行在JVM上&#xff0c;可以与现存程序同时运行。可直接使用Java类库。同Java一样静态类型。语法和Java类似&#xff0c;比Java更加简洁&#xff08;简洁而并不…

深度学习的瓶颈是什么!

深度学习主要的瓶颈&#xff1a; 数据依赖与标注问题&#xff1a;深度学习模型通常需要大量的标注数据来进行训练。然而&#xff0c;获取大量的标注数据不仅成本高昂&#xff0c;而且在某些领域&#xff08;如医疗、金融等&#xff09;中可能难以获取足够的标注数据。此外&…

换脸插件升级导致SDWebUI无法启动cannot import name ‘Undefined‘ from ‘pydantic.fields‘

今天在一台新的机器环境装了SDWEBUI&#xff0c;都使用最新的版本&#xff0c;升级了下换脸的插件&#xff0c;于是乎启动崩溃了。错误如下 Launching Web UI with arguments: --listen --skip-torch-cuda-test --disable-nan-check --skip-version-check --skip-python-versi…

简记在arduino安装esp32开发板包

主要参考来源&#xff1a;http://t.csdnimg.cn/Fuqg9&#xff0c;感谢原博主的文章&#xff0c;原文我有不够详细的地方本文会给出说明。 废话&#xff0c;不用看&#x1f447; 本人安装时常大概2小时&#xff0c;按理说有离线文件了应该很快&#xff0c;我这2小时属实有点慢了…

Docker-概念及配置(超详细)

docker 第一章 1、什么是docker 答&#xff1a;docker是一种容器引擎&#xff0c;通过docker可以将软件安装并且配置好以后&#xff0c;做成一个镜像文件。通过这个镜像文件可以快速的安装、配置软件环境 2、3个概念 【docker镜像】&#xff1a;将软件环境安装配置好以后产生…

wstunnel (websocket模式ssh)

接上一篇 修改客户端运行参数 ssh -o ProxyCommand"./wstunnel client -L stdio://%h:%p ws://192.168.254.131:8080" 127.0.0.1 其中127.0.0.1为服务端的本地ssh访问&#xff0c;可以修改为通过服务端访问其他设备的ssh服务。例如&#xff1a; ssh -o ProxyComma…

吉布提国家概况

吉布提国家概况 &#xff08;最近更新时间&#xff1a;2022年10月&#xff09; 【国 名】 吉布提共和国&#xff08;The Republic of Djibouti&#xff0c; La Rpublique de Djibouti&#xff09;。 【面 积】 2.32万平方公里。 【人 口】约100万。主要有伊萨族和阿法尔族。…

42-巩固练习(二)

42-1 函数的递归 1、问&#xff1a;关于递归的描述错误的是&#xff08;&#xff09; A.存在限制条件&#xff0c;当满足这个限制条件的时候。递归便不再维续 B.每次递归调用之后越来越接近这个限制条件 C.递归可以无限递归下去 D.递归层次太深&#xff0c;会出现栈溢出现…

C#基础|对象初始化器与构造方法对比总结

哈喽&#xff0c;你好啊&#xff0c;我是雷工&#xff01; 01 对象初始化器的作用 为了更加灵活的初始化对象的“属性”&#xff0c;是对构造化方法的补充。 02 构造方法总结 2.1、存在的必要性&#xff1a;一个类中&#xff0c;至少要有一个构造方法&#xff08;有无参数均…

C++对象的初始化和处理

生活中我们买的电子产品都基本会有出厂设置!在某一天我们不用时候也会删除一些自己信息数据保证安全。 C中的面向对象来源于生活&#xff0c;每个对象也都会有初始设置以及对象销毁前的清理数据的设置。 构造函数和析构函数 对象的初始化和清理也是两个非常重要的安全问题 一…

Unity 使用GPU计算物体距离

在游戏开发中&#xff0c;计算物体之间的距离是一个常见的需求&#xff0c;例如用于碰撞检测、视觉效果等。传统的计算方法可能会在大量物体时带来性能问题&#xff0c;而在 Unity 中&#xff0c;借助 GPU 进行计算可以有效提高性能。本文将介绍一种使用 Compute Shader 在 Uni…

OpenHarmony语言基础类库【@ohos.util.LinkedList (线性容器LinkedList)】

LinkedList底层通过双向链表实现&#xff0c;双向链表的每个节点都包含对前一个元素和后一个元素的引用。当需要查询元素时&#xff0c;可以从头遍历&#xff0c;也可以从尾部遍历&#xff0c;插入、删除效率高&#xff0c;查询效率低。LinkedList允许元素为null。 LinkedList…

大数据第七天

文章目录 吐槽一下这个是怎么需要真的这么大吗? 内核错误内核软死锁&#xff08;soft lockup&#xff09;我这个cpu很高吗?大模型都说了不超过80就行了 FinBi安装FinBI下载链接安装时间比较长 吐槽一下 dbeaver 查询hive 数据信息是真的慢&#xff0c;没有一点快的方式&…