26

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

 3 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.

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK