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

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

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

贡献的生命周期(步骤)

1.fork主仓库

fork主仓库会在你的账户中建立一个副本。你能够进行更改并将任何代码推送到此fork,而没必要担忧会弄乱原始代码库。单击页面顶部的fork按钮以建立一个新的fork。github

Fork后的版本库如今能够在你的帐户中的“Repositories”部分找到。shell

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

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

如今在你的电脑上打开一个终端,而后运行如下命令来克隆fork的仓库:fetch

git clone git@github.com:theawesomenayak/guava.git

3.建立功能/特性分支

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

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

cd guava

建立一个新特性分支,其名称能够标识你计划进行的更改。例如:spa

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。

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

7.处理评论并合并PR

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

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

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

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

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

git remote add upstream git@github.com:google/guava.git

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

git remote -v

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

origin  git@github.com:theawesomenayak/guava.git (fetch)
origin  git@github.com:theawesomenayak/guava.git (push)
upstream        git@github.com:google/guava.git (fetch)
upstream        git@github.com: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贡献的流程,让你的开发周期变得更简单一些。

感谢你花时间阅读个人文章。


原文:https://medium.com/better-programming
翻译:公众号《前端全栈开发者》
image

相关文章
相关标签/搜索