过来人告诉你:新手怎么玩转GitHub

Miracle 2018年12月26日00:05:09干货教程过来人告诉你:新手怎么玩转GitHub已关闭评论1,41811668字阅读5分33秒阅读模式

今天,我们要讨论的是Quora上的一个讨论帖:一个新手如何为GitHub上的开源项目做贡献?文章源自联网快讯-https://x1995.cn/3734.html

GitHub上面有许多项目,很多初学者都想为一些项目作出贡献,于是不断在GitHub的搜索界面上搜索,希望找到一个能够贡献的项目,最后,绝大多数的人都放弃了,为什么呢?因为你找到的项目要么过于复杂,要么就是已经死了文章源自联网快讯-https://x1995.cn/3734.html

对于初学者,建议你不要一开始就为GitHub上的项目做贡献,那只会让你感到挫败。下面具体告诉你为什么以及你应该怎么做?文章源自联网快讯-https://x1995.cn/3734.html

1. 没有适合初学者的开源项目文章源自联网快讯-https://x1995.cn/3734.html

事实上,GitHub上没有一个开源项目是真正为初学者准备的,大多数项目都是完整的,解决了某个特定的问题,并且设计的很安全和灵活文章源自联网快讯-https://x1995.cn/3734.html

这意味着会有很多的代码,复杂的结构,这对初学者来说是有很大难度的,大部分初学者认为所有的代码都应该放在一个文件夹里,这样你就能一次性解决问题,但事实并非如此文章源自联网快讯-https://x1995.cn/3734.html

如果你想为一个项目添加一个小特性,你需要了解整个项目/库/插件是如何运行的,它的逻辑流程,它如何输入/输出,否则,每次解决完一个小问题,立马就会有一个更大的问题等着你去解决文章源自联网快讯-https://x1995.cn/3734.html

就拿我自己的开源项目jQuery AutoComplete,他只是一个小小的插件,只有1000行左右的代码,但也少有初学者能为它贡献代码。文章源自联网快讯-https://x1995.cn/3734.html

2.你的补丁很可能不被接受文章源自联网快讯-https://x1995.cn/3734.html

我们讨论的是“如何为GitHub上的项目作出贡献?”,但实际上,没人会告诉你要怎么做。文章源自联网快讯-https://x1995.cn/3734.html

一个GitHub项目可以有成千上万个未处理的pull requests,大多数项目维护者并不是很乐意让一个新人把代码添加到他们的代码库,所以你的pull requests很可能没人搭理你。文章源自联网快讯-https://x1995.cn/3734.html

过来人告诉你:新手怎么玩转GitHub文章源自联网快讯-https://x1995.cn/3734.html

想象一下,当你发现了一个项目问题,花费了大量的时间和精力去修复它,提交后却没人回复你,想想你浪费的那些时间和精力,一定会感到很无奈吧文章源自联网快讯-https://x1995.cn/3734.html

3.参与一个完整的项目并不会帮助你学到很多东西文章源自联网快讯-https://x1995.cn/3734.html

作为初学者,最大的乐趣在于你一次次的突破,看着自己的代码从100行到1000行,再到10000行......然后你发现自己再也不是一个初学者了。即便让你写出5000行代码,也不会像之前写500行代码那样绞尽脑汁。文章源自联网快讯-https://x1995.cn/3734.html

当你为一个开源项目做贡献时,你并不会打着“我要学习”的称号,重写他们的整个代码库,但是,假如你从一开始就参与到项目中去,这样你就能够理解一个项目的整个生命周期:创意、原型、设计、实现等等。文章源自联网快讯-https://x1995.cn/3734.html

我已经创建了20多个开源项目,我并不反对为开源项目做贡献,但是刚开始我认为你更应该做的是创建自己的项目,下面就是创建自己项目的流程:文章源自联网快讯-https://x1995.cn/3734.html

i) 确定一个简单的问题文章源自联网快讯-https://x1995.cn/3734.html

这个问题不仅是你需要解决的问题,也是很多人想要解决的问题,越多的人对它感兴趣的时候,你的项目越有可能成功。文章源自联网快讯-https://x1995.cn/3734.html

它不必是一个完整的应用程序,可以只是一个小补丁,让你有一个学习GitHub的机会,就像学习编程一样,Git工作流程是需要花费一些时间和精力去适应文章源自联网快讯-https://x1995.cn/3734.html

ii) 开始编写代码并推送到GitHub文章源自联网快讯-https://x1995.cn/3734.html

请务必记住一点,你不仅是在学习编程,你也是在学习如何使用GitHub以及如何为开源项目做共享。熟悉工作流是重中之重,诸如创建分支、了解push、pull、 rollback等文章源自联网快讯-https://x1995.cn/3734.html

过来人告诉你:新手怎么玩转GitHub文章源自联网快讯-https://x1995.cn/3734.html

创建一个公共存储库,并编写Readme.md文件,它是指描述你的项目要做什么或关于什么的文件。然后为你的项目准备一份书面计划,让项目有一个清晰的路线图。这一步很关键,因为没有人关注你。如果你在乎自己的时间和精力,你就该知道你在做什么文章源自联网快讯-https://x1995.cn/3734.html

iii) 测试、部署、修复bug、邀请朋友……文章源自联网快讯-https://x1995.cn/3734.html

在你的项目(插件或者应用程序)传播之前测试一下,你可以进行功能测试或编写自动单元测试,对于是否应该在学习编程的时候,就开始编写单元测试,看法不一,所以这里你也可以忽略文章源自联网快讯-https://x1995.cn/3734.html

接下去,就要考虑到用户问题,没有人会在成千上万的GitHub项目中发现你这个小插件的存在,你必须想办法把它送到用户眼前。文章源自联网快讯-https://x1995.cn/3734.html

过来人告诉你:新手怎么玩转GitHub文章源自联网快讯-https://x1995.cn/3734.html

然后你会发现自己写的全是Bug,怎么办呢?当然是请其他人和你一起为这个项目贡献代码,一开始,这可能很困难,但是一旦走过了这一步,这个项目就是一个成熟的项目文章源自联网快讯-https://x1995.cn/3734.html

在这个基础上,你已经有了第一手经验,这时候,我完全鼓励你开始为其他人的项目作出贡献。文章源自联网快讯-https://x1995.cn/3734.html

继续阅读
Miracle
  • 本文由 发表于 2018年12月26日00:05:09