写写自己关于 GitHub 的使用经历

写写自己关于 GitHub 的使用经历

随便写写 1903 字 / 4 分钟

刚才准备在 Light Cube 上写点东西的,奈何服务器挂了!对!老薛这么多台香港服务器就偏偏是我所在的这台挂了!

说好的99%在线率呢?现在连个提醒都没有说宕机就宕机……

最近一直都在写Love Bangumi那个补番软件,一直都是围绕着Visual Stuido和Github转,所以有段时间没上Light Cube了,今天突然想看看的,居然……╮(╯▽╰)╭ 亏我还专门科学上网开了个Google分析。

今天想来聊聊Github。虽说是很久前就已经注册了账号,但一直没用上它,也并不觉得它有多厉害(毕竟之前都是写写AS3什么的233),虽说以前在用RedHat的PaaS平台——Openshift做Music Quiz等项目时用Git提交过代码。但是版本控制什么的,开源方面的姿势,还是在这次的Love Bangumi的开发上学到的。

其实关于“开源”这个词,它在我心中大概是一种十分高尚神圣的存在。自认为只有那些十分厉害的程序员,写的十分庞大的项目(比如Linux),才能开源,从此获得万人赞叹。但是在逛了下GitHub以后,我发现......你其实用c++写个等差数列求和的程序也能发上来,只不过有没有人看就不知道了。

所以我也将之前上学而思时,遇到的那道利用几何概型求圆周率的题中提到的算法写了个小玩意,发到了GitHub上。然后就没有然后了。

从这个contribution history你也能看出来,我其实也只是最近才开始深入了玩GitHub的。那么首先就是如何提交代码,最后还是自己问度娘+慢慢地摸索和练习才发现了用Git GUI就可以直接Clone到本地了,因为有之前用Openshift的经验,所以SSH秘钥的生成和添加都没什么问题。最后总算是将项目部署上去了。

先是选择开源协议,直到这时我才明白为什么那么多项目里都有Apache的文件,甚至有些和网络/服务器无关的程序里都有。搞半天原来是用的Apache的开源协议啊。我最后选的是GPL-2.0开源协议,好像是不能用于商业用途,二次开发不能闭源,并且需要注明原作者。

选完协议之后,我看到了许多很棒的开源项目都有一个很帅的README文件。嘛,所以,我便开始钻研怎样撰写README,翻了知乎的挺多问题和文章。最后的第一版README中包含了项目的简介、功能、使用Tips、更新记录以及我的联系方式。感觉还是挺不错的,能够让初次进入的访客明白这个玩意的用途。因为软件本身就是面向国人的,所以也没打算写英文版的README,但是代码中的注释我都是老老实实地用英文写了。(一直都不是很喜欢写中文注释,搞得像我在用易语言一样,哈哈)

之后发现有些人的README中又有一些很直观的图标,记录了building状态之类的,还以为是自己设计的,没想到居然专门有个网站提供,并且有的图片还是动态更新的,它会根据当前Commit的版本是否通过第三方网站的单元测试而改变!厉害了!之后就接触了“单元测试”,这个只在初三的时候听班上的一位同学讲过的东西,大概就是将你的项目跑一遍的感觉。有Appveyor和Travis CI两个网站做这个。需要重点指出的是,Travis CI它们只支持Linux系统的单元测试,C#写的windows程序基本都是failed,我之前不知道,走了不少弯路。而相对的Appveyor就是主要面向Visual Studio开发的Windows程序了,正合我意啊!

这是之前它自动将我之前最新的预发布版跑的测试(就是刚刚加入MusicHunter那版),居然成功通过了!

然而现在因为引入了外部的CSkin.dll美化库,就不停的失败,好像除了将dll文件拖到debug文件夹里外,还可以在代码中引入,最近打算把这个问题给解决了。然后就可以加个单元测试状态的图标到README里面了!

总的来说GitHub给我的感觉还是特别好的,毕竟是全球交♂友网站嘛233。上面的东西真的很好,很多API接口靠百度是完全查不到的,也从没有人在国内论坛里发过,我说的就是之前那个QQ音乐API,作者自己抓包抓下来后,除了GitHub外,就没有在别的地方发过,所以一直到现在都鲜为人知,鹅厂的人就更不知道了。还有Pixiv的API也是这样。

综上所述,我最后充值了波信仰——在某宝买了件Github的T恤,章鱼猫的Logo真的可爱!

果然,不上GitHub逛逛真的不能说你是写码的,确实能学到不少东西。我也Star了几个自己喜欢的项目,感觉大家都是挺认真的分享自己的作品的。

(PS:当我把这篇文章写完了,Visual Studio还是没有安装完...)