• 5. Github的使用


    GitHub是什么呢?这里我引用下官方的说法吧:
    GitHub是汇集了全世界开发者的最大的开发社区,它帮助开发者发现,共享和构建更好的软件。从开源项目到私人团队仓库,GitHub是进行协作开发的统一平台。

    我主要讲一下,自己的Github应该怎么看,别人的仓库应该怎么看。

    目录

    个人页面
    项目基本面分析
    查看项目目的分析
    延展:搜索
    延展:个人项目的开发

    个人页面

    在GitHub上,我们可以创建自己的项目(仓库)。仓库分为公有库和私有库,私有库需要付费(学生可以申请免费)。
    我以前看到一个关于GitHub的类比“朋友圈”图,我记忆很深刻,我这里仿造一个:

    这样就很好理解了吧,大型男性(划掉)程序员交友社区。
    我们在衡量别的开发者的时候,也可以看看他的活跃程度,他的关注点(仓库、Star)。

    项目基本面分析

    GitHub里有很多仓库,对于仓库应该怎么“看”,这里我说说我的看法。
    aspnetboilerplate为例,初步了解一个项目,可以先看项目描述(有官网链接)和下面的README文档。这些内容会迅速帮助我们掌握,这个项目是用来做什么的,包含哪些功能,支持哪些框架,设计理念是什么等等。我们以此确定,这是否是我们需要的东西,如果是,可以继续往下衡量。


    根据下图,我按照数字顺序依次说一下。

    1:从左到右,
    “Used By”,被多少人使用。
    “Watch”被多少人关注,点击关注,则此项目的讨论、更新都会以邮件的形式发送给你,可以理解为“订阅”。
    “Star”,类似朋友圈的“我喜欢”,对应个人页面中的Star tab。
    Watch和Star越多,说明这个项目越多人关注、使用,可靠性越高。
    “Fork”,会复制一个该仓库的副本到我们的仓库下,借此我们以此为基础,进行二次开发。当然也可以在开发完成后提交给原仓库,使用图中数字6的“New pull request”按钮,选择自己的仓库->原仓库即可。
    用图来说明就是下图这个流程,当然2、3是做了简化的,2、3是之前“版本控制”篇提到的那些流程,clone-commit-pull-push。

    2:那几个Tab一般看Code和Issues较多,
    Code就是代码,当前页。
    Issues一般是使用该项目的开发者提出的一些Bug反馈、优化建议、Feature目标等。在衡量一个项目是否值得采纳的时候,可以简单扫一下,主要看看是否有重大bug没有修复、开发者的反馈速度如何、整个项目是否活跃。
    3:Release是发布版本,可以在此下载该项目的各个版本。根据需求确定是否下载,因为也可能可以通过nuget直接安装或者通过其它方式安装。
    再来可以看下版本号,一般最新版本为0.x、1.x,证明项目可能还不够完善,开发时间还不长,使用者还不够多。
    4:克隆或下载仓库的地方。
    5:切换分支。在“版本控制”篇中,我们提到了“分支”的概念,回忆一下,修复bug的分支、准备发布的分支、开发新功能的分支等等。
    6:Pull request,提交代码给该仓库。
    7:仓库文件列表,重点是看后面的最后提交时间,特别是一般会有的“src”文件夹的提交情况。像现在这种两天前更新,说明该项目十分活跃。
    如果显示最后一次提交在一年以前,则基本说明该项目已经无人维护了,则应该考虑不采用该项目。
    至于其他的功能,就自行探索吧。
    自己的项目与别人的项目有所差别,包括一些操作,比如删除仓库、改名、为其他开发者授权、分支管理、通知设置、访客限制等等,都是关于Git仓库的一些操作和GitHub业务相关的内容。就像自己的朋友圈自己可以编辑、删除,但是别人的朋友圈,我们没有权限操作,类似的。

    查看项目目的分析

    对于别人家的项目呢,我觉得可以根据目的进行不同的操作。
    如果是抱着学习的态度呢,克隆仓库,好好研读。
    如果是抱着想使用它的功能的态度呢,先看README,或者一般项目描述也会贴官网链接,去官府看Document,都可以快速入门。
    如果使用过程遇到问题,先搜索“项目名称 遇到的问题”,看看有没有现成的答案。如果没有,可以给他们提Issues,看开发组的情况,比较活跃的可以很快得到解答。但不推荐提Issues这个方式,因为“Issues”是用于代码有问题,出Bug,提新的功能(比如增加对XXX的支持)的,而不是解决使用上的问题的。
    如果你对某个项目很感兴趣,你也可以为它添砖加瓦(Fork)。

    延展:搜索

    有时候Github在解决疑难杂症的问题上也是颇有效果。
    比如找一些特定的功能,在左上角直接搜索关键词,可能会有意外的收获哦~

    在搜索一些奇奇怪怪的问题时,比如特定的类名方法名、比较少见的报错内容,有时候可以在Github上面搜索到关键代码段。这种方式一般用谷歌搜索比较见效,必应目前对Github的支持还不够好。

    延展:个人项目的开发

    参考“项目基本面分析”的内容,我们在维护个人项目的时候,也应该在项目描述上简单写上“这个项目是做什么的”,应该添加一个README文件,进行详细说明。
    如果需要写一系列的文档,则应该写Wiki,并在README上按照顺序附上链接。
    如此,可以让其他开发者对你的项目可以迅速上手,也会提高你的项目的使用率。

    看完是不是觉得Github是个大神器!是的,它就是!善用Github,可以把你的水平拉高几个档次呢~

  • 相关阅读:
    从yield关键字看IEnumerable和Collection的区别
    弹出框Fancybox使用详解
    几个不错的JQuery UI框架
    解决 IE6 position:fixed 固定定位问题
    autocomplete 应用(搜索提示框)
    HTML5 基础
    Cookie原理
    escape()、encodeURI()、encodeURIComponent()区别详解
    顶回Top
    移植mavlink协议到STM32详细教程
  • 原文地址:https://www.cnblogs.com/Lulus/p/12361910.html
Copyright © 2020-2023  润新知