

如何为 Github 开源项目贡献代码
source link: https://sxy91.com/posts/pull-request/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

如何为 Github 开源项目贡献代码
什么是 pr(pull request)
“Pull Request 是 github 的一种通知机制。你修改了他人的代码,将你的修改通知原来的作者,希望他合并你的修改,这就是 Pull Request。”
一、fork 原作者的项目
假设 someone 有个项目 demo
由于没有对 demo 的直接 push 权限,我们需要先对 demo 库进行 fork,然后从自己的地址 clone。
git clone [email protected]:yourname/demo.git
someone
二、与原作者仓库进行拉取和推送关联
为了保证我的代码和原作者实时同步(原作者的改动我们也能拉取,我们的修改也能推送到原作者仓库),需要进行 关联。
clone 项目到本地后,进入 demo 目录,添加一个新的推送地址,取名叫 upstream(代表原作者的仓库) 。
cd ~/demo
git remote add upstream [email protected]:someone/demo.git
使用 git remote -v
查看此时有两个推送和拉取地址。
origin [email protected]:username/demo.git (fetch)
origin [email protected]:username/demo.git (push)
upstream [email protected]:someone/demo.git (fetch)
upstream [email protected]:someone/demo.git (push)
三、切换 dev 分支
根据原作者的说明,一般需要在 dev 分支进行修改和提交 pr。
先查看远程仓库里有哪些分支 git branch -r
origin/HEAD -> origin/master
origin/develop
origin/master
upstream/develop
upstream/master
切换到 develop 分支,并跟踪远程分支。
git checkout –track origin/develop
--track
参数的作用是,下次 push 的时候直接推送到与你关联的远程分支上,不用再次指定了。否则会推送到 HEAD 指定的分支上。 也可以直接用-t
参数
当前也许你 clone 之后好几天没动代码,此时原作者仓库可能已经有变动了,如果想拉取原作者的变动,那我们可以使用 git fetch upstream
命令
使用 git
终端切换分支需要敲很多命令,推荐使用 gui 程序拉取和切换分支,比如 sourcetree
。
四、修改代码并提交
git add -A
git commit -m “你提交的说明”
git push
# 如果 checkout 的时候没有 -t 参数,那么 push 的时候需要指定远程分支名称
# git push origin develop
五、填写 pr 的说明
到 github 项目的仓库地址即可查看到有 pr 可以填写,一般需要填写为什么改动,改动了哪些地方等信息,填写完之后保存,原作者即可收到合并提交的请求,如果他同意,那么你的代码将会合并。
v1.4.18
Recommend
-
68
几年前,“开源”还是点点星火,如今已成燎原之势。在过去的 2018 年,企业都在积极加强自己在开源方面的实力,IBM 大手笔 340 亿美元收购了 RedHat,微软 75 亿美元收购了 GitHub。 开源软件蓬勃发展的同时,安全漏洞风险也在增加...
-
43
-
31
创建干净,管理良好的GitHub贡献的简短指南。 在本文中,我将给出10个简单的步骤,以确保GitHub的贡献快速而干净。
-
11
title: 贡献开源项目的流程 Github 是目前世界上最大的开源项目的托管交流平台。贡献开源项目的流程也是 Github 全力支持的,也一样是遵循 Github Flow,虽然跟前...
-
9
如何为 TiKV Coprocesser 做贡献TiDB 是 PingCAP 推出的开源分布式 SQL 数据库,而 TiKV 最初是作为 TiDB 的存储底层设计的,现在已经被 PingCAP 捐赠给...
-
12
给顶级开源项目 Spring Boot 贡献代码是一种什么样的体验?发布于 4 月 7 日先点赞再看,养成好习惯Spring Boot的默认日志框架一直是 Logback...
-
11
人工智能如何为教育部门做出贡献? 责任编辑:cres 作者:HERO编译 | 2021-05-12 13:06:13 原创文章 企业网D1Net 人工智能技术如今已经广泛应用在各个行业部门,教育部门也不例外。行政人员、管理人...
-
14
鲸鲮在 Gitee 上开源 JingOS V0.9 代码,累计贡献代码量超 115 万行 ...
-
4
如何为任何开源项目做贡献?在《如何成为Golang贡献者》中,我介绍了, 我对于 Golang 的第一个贡献是修复了一处 Typo ,这是整个开源贡献中可以说是最简单的一部分...
-
6
GitHub 是什么?GitHub 是通过 Git 进行版本控制的软件源代码托管服务。 截止到 2015年,GitHub 已经有超过 2800 万注册用户和 7900 万代码库。事实上已经成为了世界上最大的代码存放网站和开源社区。
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK