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

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

写在最前面

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 完成后,你将拥有该仓库的副本(副本将出现在你自己账号的仓库里面)。

然后回到自己账号下,可以找到 fork 到的项目了,接着你需要将其克隆到本地进行修改。

这个项目在你自己的账号下,也就意味着你有任意修改的权限了。我们后面要做的事情,就是将代码变更提到自己 fork 出来的代码库里,然后再通过 Pull Request 的方式将 commits 合入上游项目。

使用以下命令克隆仓库:

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

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

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

在新分支中,进行你想要的更改。这可能是添加新功能、修复错误或改进文档。完成更改后,使用 git add 和 git 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”按钮。点击它,选择你的新分支和原始仓库的目标分支(通常是 main 或 master),填写 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 上贡献代码。记住,每个贡献都是向开源社区学习和回馈的机会,每次提交都有可能影响成千上万的开发者和最终用户。

目录
相关文章
|
6月前
|
缓存 网络协议 Linux
百度搜索:蓝易云【解决github push/pull报错443】
通过以上方法,你有望解决GitHub push/pull报错443的问题。如果问题仍然存在,建议检查GitHub的状态页面,看是否有正在维护或故障的情况。
136 3
|
3月前
|
存储 Linux Go
如何在Github上Pull Request的教程
关于如何在GitHub上发起Pull Request(合并请求)的详细教程,包括Fork(分支)、Clone(克隆)、创建新分支、修改代码、提交更改、推送到远程仓库等步骤,并提供了解决权限问题的方法,如创建个人访问令牌(Personal Access Token)。
96 6
|
6月前
|
开发工具 git
【Github】sync fork后,意外关闭之前提交分支的pr申请 + 找回被关闭的pr请求分支中的文件
【Github】sync fork后,意外关闭之前提交分支的pr申请 + 找回被关闭的pr请求分支中的文件
92 5
|
6月前
|
语音技术
如何在GitHub正确提PR(Pull Requests),给喜欢的开源项目贡献代码
最好的中文TTS项目Bert-vits2更新了中文特化分支,但可能由于时间仓促,代码中存在不少的bug,作为普通用户,有的时候也想为自己喜欢的开源项目做一点点贡献,帮助作者修改一些简单的bug,那么该如何开始? 本次我们以Bert-vits2项目为例子,分享正确提交PR(Pull Requests)的方式。
|
程序员 开发工具 开发者
程序员都该知道的 Github PR 流程
程序员都该知道的 Github PR 流程
343 0
|
程序员 C# 开发者
如何给Github上的开源项目提交PR?
如何给Github上的开源项目提交PR?
155 0
|
Java
Github参与jdk8u,提交的PR提示:Testing is not configured
Github参与jdk8u,提交的PR提示:Testing is not configured
113 0
Github参与jdk8u,提交的PR提示:Testing is not configured
|
1月前
|
编解码 Oracle Java
java9到java17的新特性学习--github新项目
本文宣布了一个名为"JavaLearnNote"的新GitHub项目,该项目旨在帮助Java开发者深入理解和掌握从Java 9到Java 17的每个版本的关键新特性,并通过实战演示、社区支持和持续更新来促进学习。
79 3
|
3月前
|
SQL JavaScript 前端开发
Github 2024-08-05 开源项目周报 Top15
根据 Github Trendings 的统计,本周(2024年8月5日统计)共有15个项目上榜。以下是根据开发语言汇总的项目数量: - Go 项目:4个 - JavaScript 项目:3个 - Python 项目:3个 - Java 项目:2个 - TypeScript 项目:2个 - C 项目:1个 - Shell 项目:1个 - Dockerfile 项目:1个 - 非开发语言项目:1个
117 2
|
3月前
|
人工智能 Rust JavaScript
Github 2024-08-26 开源项目周报Top15
根据Github Trendings的统计,本周共有15个项目上榜。以下是按开发语言汇总的项目数量:Python项目8个,TypeScript、C++ 和 Rust 项目各2个,Jupyter Notebook、Shell、Swift 和 Dart 项目各1个。其中,RustDesk 是一款用 Rust 编写的开源远程桌面软件,可作为 TeamViewer 的替代品;Whisper 是一个通用的语音识别模型,基于大规模音频数据集训练而成;初学者的生成式人工智能(第2版)则是由微软提供的18门课程,教授构建生成式AI应用所需的知识。
126 1