• 新手该如何使用 GitHub?


    作为一名在 GitHub 上收获 60k star 的程序员来说,我觉得有必要认认真真的来回答一下。

    v2-80ab55bd83359dc83d008515356c8493_b.jpg

    很好,对于编程新手而言,如果一开始就知道利用 GitHub 来提高自己的技术水平,那一定会进步很快。
    题主问了两个问题,我依次来回答,希望对题主有帮助。
    一、如何参与项目
    如果你想参与某个开源项目,你首先要做的是先了解这个项目,最好的方式是先仔细阅读它的 README。
    一个标准的 README 应该包含以下内容:

    • 项目背景
    • 安装
    • 使用
    • Badge
    • 相关项目(可选)
    • 主要项目负责人
    • 参与贡献方式
    • 开源协议

    通过项目背景可以了解这个项目动机和背景是什么,是为了优化什么问题还是因为市面上其它的项目太渣渣。
    然后通过 安装使用 知道项目如何运行起来,方便查看细节。
    最后就需要查看它的 参与贡献方式 ,有的是希望你提交 issue,有的是直接 push,有的是加群一起协作。
    题主还问到 「核心的一些架构我暂时是力不从心的,那我还能为这个项目做什么呢」,这一点你不用担心,哪怕你只是修改里面的一个错误单词,一句错误的语法对于整个项目来说也是很有作用的。
    这不是开玩笑。
    一个 4 岁小女孩就给 Linux 内核贡献提交。
    链接:reddit.com/r/linux/comm
    我们看看她修改了什么
    git.kernel.org/pub/scm/
    在里面可以看到

    v2-b30fb9d2adcc1e8f6763f56466f6e466_b.jpg


    就是改了一个 「 - 」字符而已。
    没有用过 git 的同学可能看不懂这个修改,即使用过的同学刚开始也觉得一脸懵逼,git 的 diff 修改会在前面显示 - 和 + 符号,这样看就知道了,实际上就增加了一个字符 - 。
    为什么要修改这个字符?

    v2-db029cf86debd93788dae42fb58fcd4c_b.jpg


    我们看到,正常情况下「--------」和上面的字符串是对齐的,但是刚好修改的那行是没有对齐的,所以是有问题的,是不严谨的。
    虽然是一个很小的修改,但是这个修改的意思非常大。
    1、Linux 内核可以让所有人参与进来。
    2、Linux 内核非常严谨,只要有错误,任何人都可以修改它。
    说说这个修改的由来
    在修改的提交记录里面,是这样写

    v2-982f603d078e895a5b8f79f198f13c67_b.jpg

    他的侄女发现那个 「 s 」字母很孤单,用她的话说是不开心,加上「 - 」后就显得开心了。
    非常细心的一个举动,这个修改在 riddit 上,很多人在激烈的讨论,有人认为这个修改没有什么作用,不就是一个字符而已,但是很多人对这个小女孩产生钦佩,觉得他是一个非常认真仔细的人。
    希望这个小女孩的故事能够帮题主解惑。
    二、编程初学者如何在 GitHub 寻找适合自己的小项目
    GitHub 成立于 2008 年,截止到 2015 年,GitHub 已经有超过两千八百万注册用户和5700万代码库。
    对于新手而言,要从这浩瀚的代码库中找到适合自己小项目无异于大海捞针,如果有个类似于 hao123 那样的导航网站就好了!
    登登登,还真有,一个国人建立的开源项目:HelloGitHub,致力于分享 GitHub 上有趣,入门级的开源项目,对于编程新手而言十分友好。
    地址:github.com/521xueweihan

    v2-5d65e8194fe16ea231d76b75d460c627_b.jpg

    在项目中,内容每月 28 号以月刊的形式更新发布,主要是面向编程新手、热爱编程、对开源社区感兴趣人群的项目。更新的内容主要包括:各种语言的流行项目、入门级项目、让生活变得更美好的工具、书籍、学习心得笔记、企业级项目等。
    这些开源项目大多都是非常容易上手、很 Cool,能够让你用很短时间感受到编程的魅力和便捷。从而让大家感受到编程的乐趣,动手开始编程。

    v2-6e853b8bf4ee883ddfb5b6ee1dcb0dba_b.jpg

    这些项目都有一些共同的特征,那就是很酷,非常容易上手的项目,编程的魅力和便捷体验起来就是这么简单。
    对于编程新手而言,不管你是学 Java,还是学 Python,哪怕你是编程小白,不懂代码,也总能在里面找到适合你的项目。
    以上就是我的回答,希望新手都能通过合理的使用 GitHub 来提高自己的技术水平,如果你觉得这个回答能够解决题主的问题,不妨支持一下,同时根据知乎的算法机制,会有越来越多的优质答案出现在你的时间线上。
    最后,如果你是程序员,可以查看简介一起交流学习成长。
    我的专栏:

    和程序员小吴一起学算法

    我的其它相关回答:

    程序员必须掌握哪些算法? 字节跳动面试难吗,应该如何应对? 大家都是如何刷 LeetCode 的? 算法网站推荐?

  • 相关阅读:
    vue中watch的详细用法
    Golang实现请求限流的几种办法
    观察者模式
    原创-阿里云上SLB暴露K8S服务-四层协议/七层协议
    K8S-HPA创建指南
    阿里云k8s-nas挂载指南
    非原创--mysql语言分类
    mysql命令
    MongoDB从节点支持读请求
    MongoDB用户权限管理
  • 原文地址:https://www.cnblogs.com/csnd/p/16674803.html
Copyright © 2020-2023  润新知