31

为开源项目做贡献的10个步骤

 4 years ago
source link: http://mp.weixin.qq.com/s?__biz=MzI0MDIwNTQ1Mg%3D%3D&%3Bmid=2676494547&%3Bidx=1&%3Bsn=2ae3f682357fe0ed5b74c44da08bfaae
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.
neoserver,ios ssh client

mqe6n2F.jpg!mobile

创建干净,管理良好的GitHub贡献的简短指南。

在本文中,我将给出10个简单的步骤,以确保GitHub的贡献快速而干净。

目录:

  • 贡献的生命周期(步骤)

    • 1.fork主仓库

    • 2.Fork后的仓库克隆到你的电脑

    • 3.创建功能/特性分支

    • 4.将更改提交到特性分支

    • 5.将特性分支推到你fork的仓库

    • 6.针对主仓库提出Pull Request(PR)

    • 7.处理评论并合并PR

    • 8.将主存储库作为上游添加到克隆仓库中

    • 9.从上游更新你的master分支

    • 10.将主分支push到你的fork仓库

    • (可选)删除特性分支

  • 最后

贡献的生命周期(步骤)

1.fork主仓库

fork主仓库会在你的帐户中创建一个副本。你可以进行更改并将任何代码推送到此fork,而不必担心会弄乱原始代码库。单击页面顶部的fork按钮以创建一个新的fork。

jaQ3Qbr.png!mobile

Fork后的版本库现在可以在你的账户中的“Repositories”部分找到。

2.Fork后的仓库克隆到你的电脑

Fork后的仓库克隆到电脑上,这样我们就有了代码的本地副本。单击Fork后的仓库的SSH或HTTPS URL旁边的剪贴板图标来复制它。

jMFBNn.png!mobile

现在在你的电脑上打开一个终端,然后运行以下命令来克隆fork的仓库:

git clone [email protected]:theawesomenayak/guava.git

3.创建功能/特性分支

在对代码进行任何修改时,最好的做法是为我们需要进行的修改创建一个新的特性分支。这样可以确保我们保持master分支的整洁,并且能够在必要时简单地还原我们的代码或进行更新。

切换到克隆分支仓库后创建的目录:

cd guava

创建一个新特性分支,其名称可以标识你计划进行的更改。例如:

git checkout -b fix-npe-issue

4.将更改提交到特性分支

如果你在更改中创建了任何新文件,则需要将其添加到刚创建的分支中。

git add <filename>

对于所做的所有更改,你必须将它们提交到分支。确保添加有效的提交消息(根据项目的约定):

git commit -m "Fixed the NPE issue due to a null key used in cache"

5.将特性分支推到你fork的仓库

现在是时候将你的提交推送到fork的仓库中了:

git push origin fix-npe-issue

6.针对主仓库提出Pull Request(PR)

将代码推送到fork后的仓库后,就可以针对主仓库提交PR了。单击“Pull Request”按钮以启动新的PR。

EFJraiQ.png!mobile

这将带你进入一个画面,在这个画面上,你的fork版本库中的变化将与主版本库中的代码进行比较。你可以在提交更改之前查看更改并提供有效的更改描述。

Mz2YRnN.png!mobile

7.处理评论并合并PR

代码维护人员通常会针对你所做的更改返回某些评论,这可以是功能上的改变,也可以是修饰性的改变,比如格式等等。一旦你做出了这些更改,只需将它们推到你的分支,PR就会自动更新。

一旦你的修改没有什么不妥的话,维护人员将把它们合并到主仓库中。恭喜你!!你现在正式成为一名开源贡献者了。

8.将主存储库作为上游添加到克隆仓库中

除了你之外,许多其他开发人员还一直将其代码合并到主存储库中,我们需要与它的分支库连续进行同步,以获取最新的代码。

你克隆的存储库已链接到fork后仓库了,为了使fork的仓库与主仓库保持同步,你需要通过在克隆的仓库中添加主仓库作为上游(upstream)来连接它们。

git remote add upstream [email protected]:google/guava.git

使用以下命令验证上游设置是否正确:

git remote -v

它应该显示以下值,以确认源和上游指向正确的仓库:

origin  [email protected]:theawesomenayak/guava.git (fetch)
origin  [email protected]:theawesomenayak/guava.git (push)
upstream        [email protected]:google/guava.git (fetch)
upstream        [email protected]:google/guava.git (push)

9.从上游更新你的master分支

设置上游后,你可以提取其他开发人员在主仓库中所做的更改,这将更新本地计算机上的克隆仓库:

git pull upstream master

10.将主分支push到你的fork仓库

一旦你在你的本地机器上有了所有的更新,你将需要把它们推送到你的fork后的仓库中,使其与主仓库同步。

git push origin master

(可选)删除特性分支

特性合并到主仓库后,便不再需要它,可以将其删除:

git branch -d fix-npe-issue

你还可以从fork的仓库中删除远程分支:

git push origin --delete fix-npe-issue

最后

为GitHub项目做贡献可能会很棘手,这取决于有多少开发人员同时在做。希望这篇文章能为你扫清GitHub贡献的流程,让你的开发周期变得更简单一些。

感谢你花时间阅读我的文章。

好书推荐

朝九晚五的工作,是否是这个时代安身立命的标准?

如果可以自由工作,人生又有多少种可能?

为了寻找答案,自媒体人林安探访了许多不上班的人,

希望他们不一样的人生故事,能给你疲惫的生活带去英雄梦想。

作者林安以“都市青年观察者”的身份深度采访了20个 自由职业者 ,以感性、细腻但又不失洞察力的笔触将20位自由职业者“非常态”的工作、生活方式展现在读者面前。 书中记录了勇士们的梦想、奋斗、坚持、迷茫与困惑,让读者了解那些不上班的人生,也许他们也可以踏出勇于改变的第一步。

粉丝福利资源

Web安全从入门到“放弃”视频教程

https://pan.baidu.com/s/1XdBdKk9zjGM0Dr5SxX2mcQ  密码: llgl

更多资源请查看本公众号“发现”菜单

NjUrEfj.jpg!mobile


Recommend

  • 185
    • 掘金 juejin.im 7 years ago
    • Cache

    零起点的开源社区贡献指南

    【开源社区贡献者】听起来是个专属于顶级开发者的头衔,但它真的有这么遥不可及吗?下面的分享旨在揭开它的神秘面纱,帮助感兴趣的同学更轻松地参与到社区项目中来。 首先需要澄清的是,本文作者自己并不是社区高大上项目的原创作者,只是在一个 5k+ Star,100+ 贡...

  • 11
    • yuanfentiank789.github.io 4 years ago
    • Cache

    贡献开源项目的流程

    title: 贡献开源项目的流程 Github 是目前世界上最大的开源项目的托管交流平台。贡献开源项目的流程也是 Github 全力支持的,也一样是遵循 Github Flow,虽然跟前...

  • 12

    给顶级开源项目 Spring Boot 贡献代码是一种什么样的体验?发布于 4 月 7 日先点赞再看,养成好习惯Spring Boot的默认日志框架一直是 Logback...

  • 6

    在以前,fork 是一个贬义词,指的是某个人使开源项目向不同的方向发展,或者创建一个竞争项目,使得原项目的贡献者分裂。在 GitHub,fork 指的是在你自己空间中创建的项目副本,这个副本允许你以一种更开放的方式对其进行...

  • 4
    • www.ixiqin.com 3 years ago
    • Cache

    如何为任何开源项目做贡献?

    如何为任何开源项目做贡献?在《如何成为Golang贡献者》中,我介绍了, 我对于 Golang 的第一个贡献是修复了一处 Typo ,这是整个开源贡献中可以说是最简单的一部分...

  • 6

    GitHub 是什么?GitHub 是通过 Git 进行版本控制的软件源代码托管服务。 截止到 2015年,GitHub 已经有超过 2800 万注册用户和 7900 万代码库。事实上已经成为了世界上最大的代码存放网站和开源社区。

  • 4

    F5暂停俄罗斯贡献NGINX 开源项目 – 开源派 NGINX所属的F5 公司宣布,取消俄罗斯对 F5 的网络访问,并暂停所有来自俄罗斯境内对 NGINX 开源项目的贡献。F5 的CEO François Locoh-Donou在官网宣称,为了支持乌克兰人民,F5公司已经暂...

  • 7

    5大步骤+10个案例,堪称SQL优化万能公式 狼爷 2022-03-21 09:37:46 在应用开发的早期,数据量少,开发人员开发功能时更重...

  • 4

    如何为 Github 开源项目贡献代码 2022-04-15 宋洋葱 宋洋葱 什么是 pr(pull request) 参考...

  • 3

    正确做数据治理的10个关键步骤国云数据马晓东·2022-11-13 08:19在企业数字化转型过程中,对数据的共同理解与解释至关重要。在...

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK