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

开发 项目管理
创建干净,管理良好的GitHub贡献的简短指南。在本文中,我将给出10个简单的步骤,以确保GitHub的贡献快速而干净。

[[340896]]

创建干净,管理良好的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。

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

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

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

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

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

3.创建功能/特性分支

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

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

  1. cd guava 

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

  1. git checkout -b fix-npe-issue 

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

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

  1. git add <filename> 

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

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

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

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

  1. git push origin fix-npe-issue 

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

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

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

7.处理评论并合并PR

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

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

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

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

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

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

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

  1. git remote -v 

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

  1. origin  git@github.com:theawesomenayak/guava.git (fetch
  2. origin  git@github.com:theawesomenayak/guava.git (push) 
  3. upstream        git@github.com:google/guava.git (fetch
  4. upstream        git@github.com:google/guava.git (push) 

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

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

  1. git pull upstream master 

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

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

  1. git push origin master 

(可选)删除特性分支

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

  1. git branch -d fix-npe-issue 

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

  1. git push origin --delete fix-npe-issue 

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

本文转载自微信公众号「前端全栈开发者」,可以通过以下二维码关注。转载本文请联系前端全栈开发者公众号。

 

责任编辑:武晓燕 来源: 前端全栈开发者
相关推荐

2014-04-01 10:20:00

开源Rails

2024-12-18 08:00:00

开源峰会开源开发

2024-01-26 08:16:48

Exporter开源cprobe

2018-07-12 14:34:05

2019-10-25 10:05:20

开源项目开发

2011-11-03 17:02:00

微软Samba代码

2020-09-01 15:25:40

框架控制面板前端

2019-10-14 08:00:00

Go语言编程语言开源项目

2014-04-15 10:11:05

Github开源

2023-05-05 16:14:57

开源非代码

2019-09-25 10:08:16

GitHub 技术开源

2015-06-26 11:47:07

物联网

2019-11-25 00:00:00

开源技术 数据

2014-11-21 10:46:56

Java开源项目

2014-04-30 12:01:06

开源开源贡献

2017-10-09 18:54:20

前端Node.js贡献代码

2020-11-05 14:12:16

Vue开源项目js框架

2021-04-09 16:25:00

GitHub代码开发者

2018-10-23 13:00:48

php比特币区块链

2019-01-21 08:00:00

谷歌开源数据
点赞
收藏

51CTO技术栈公众号