商汇粹外网资源平台

搜索
查看: 3020|回复: 5

如何开始在 github 上学习东西?

[复制链接]

该用户从未签到

11

主题

40

帖子

146

积分

注册会员

Rank: 2

积分
146
发表于 2022-9-21 20:29:09 | 显示全部楼层 |阅读模式
换句话说,就是如何开始正确的使用github
回复

使用道具 举报

该用户从未签到

3

主题

10

帖子

50

积分

注册会员

Rank: 2

积分
50
发表于 2022-9-21 20:44:09 | 显示全部楼层
Github是程序员的资源宝藏,各种优质项目源码、学习资料、数据源等,足以让一个小白成长为技术大佬。
之前一直混Github看Python项目,这里就把我玩Github的经验,以及Python优质资源分享出来,大家可以在评论区讨论补充。
1、学习Github的精髓在于搜索
这是我使用Github最大的感触,你可以搜各种关键词,比如java、tensorflow、sql等,会出现相关
项目仓库,然后按照star、forks排序,就会出现这个领域最受欢迎的项目和资源。
比如tensorflow的搜索结果,会出现它的框架资料,里面包含源代码和文档,你可以学习这个世界上最优秀的深度学习框架。
其他高人气项目中还会有tensorflow的案例分享等等。

除了搜索之外你还可以去看Github里的Explore栏目,系统会推荐一些优质的项目。


Trending栏目里是近期比较受欢迎的项目,可以按语言和时间选择更细维度

2、Python在Github有200多万个关联项目
如果你用Github搜Python,会出现2,339,414个结果,也就是说这么多repository都和Python有关
这是什么概念呢?这个数字几乎是所有编程语言中最多的,而且远远超过C++、JavaScript等

所以在Github上学Python,一定不会让你失望。
3、优质Python学习资源推荐
下面推荐一些优质的Python学习项目,既包含python语法,也有爬虫、数据分析、web开发等应用。

  • Awesome Python
这个项目收集了Python生态中各领域核心第三方库,内容包括:Web 框架、网络爬虫、网络内容提取、模板引擎、数据库、数据可视化、图片处理、文本处理、自然语言处理、机器学习、日志、代码分析等

比如说数据可视化领域,就有matplotlib、seaborn、dash等库,包含其文档链接及简要介绍

这个项目还有中文版


  • Python-100-Days
这是一个中文版python学习项目,名叫Python - 100天从新手到大师。
作者以100天为周期,把Python从入门到进阶的知识点分门别类,做成教程形式。
当然,这个教程不光有Python语法,还有爬虫、数据分析、机器学习、数据库、软件测试、web开发等各种应用层知识,足够让你跨入Python世界的大门。


作者对于Python学习和就业的建议也非常中肯,这里摘抄给大家参考。

项目开头给初学者的几个建议:
1、Make English as your working language. (让英语成为你的工作语言)
2、Practice makes perfect. (熟能生巧)
3、All experience comes from mistakes. (所有的经验都源于你犯过的错误)
4、Don't be one of the leeches. (不要当伸手党)
5、Either outstanding or out. (要么出众,要么出局)



  • geekcomputers/My Python Examples
这是一个python脚本案例大集合,作者总结了日常工作中的实用脚本,包括文件整理、图片处理、视频下载、数据转化等各种代码。
作者也说,他不是程序员,整理这些脚本只是为了更方便快捷地解决问题。
我想这也是很多人学习python的诉求,为解决问题而学习,这是最高效的。




  • free-programming-books-zh_CN
这是一个免费技术书籍分享项目,作者收集了IT领域各类主流中文/英文技术书,部分含有下载路径或者电子书链接。
这其中主要是github和stackoverflow推荐的书籍,层层筛选,相信不会辜负读者。
项目里你可以根据索引来选择某种语言的书籍,其中python书籍非常丰富,包含了cookbook、thinkpython等经典书籍。
语法&第三方库&应用


  • HelloGitHub
这是一个非常受欢迎的开源项目分享项目,作者每周都会筛选github上流行的项目,按语言类型汇总成一个杂志式看板。现在已经有69期了。
项目介绍:
该项目内容包括:有趣、入门级的开源项目开源书籍实战项目企业级项目等,让你用很短时间感受到开源的魅力,爱上开源!


里面的Python项目也非常有意思,大家可以去看看。
比如最新一期的python精选:



  • funNLP
如果你喜欢研究文本数据,痴迷于nlp。那这个仓库一定会带给你惊喜。
作者收集了nlp领域各种数据资源,大概几百上千种。包括中英文敏感词、语言检测、邮箱抽取、中日文人名库、中文缩写库、拆字词典、词汇情感值、停用词等等。


还有各种nlp工具介绍:

总之,Github绝对是学习编程的绝佳资源,想利用好它的秘诀就是多去用它。
回复

使用道具 举报

该用户从未签到

4

主题

56

帖子

190

积分

注册会员

Rank: 2

积分
190
发表于 2022-9-21 20:59:09 | 显示全部楼层
下面从3个方面来回答楼主的疑问:github能用来干什么、github的正确使用姿势、github优秀资源推荐
Github能做什么

官网上对github的描述是:where the world builds software。不过上面不止有各种项目的代码,还有文档,书籍等等各种资料。能够进行代码协作、问题讨论、文档编写等操作。可以说,是程序员必备工具。

使用Github参与开源项目能给我们带来什么收益?

在github上我们可以参与到实际的开源项目中来,参与技术设计方案讨论,使用文档编写,或是核心代码编写。能给我们带来实实在在的好处。

  • 给我们的简历加分。
  • 锻炼git/github使用技能。
  • 和开源社区里的顶级牛人沟通,从牛人身上学习。
Github正确使用姿势

作为新手,如何从0基础到实际参与到开源项目中来?
0、开始前的准备工作
(1)挑选项目。建议从目前使用过的组件或库开始,因为对这些库的基础知识、使用已经有了大概了解。
(2)从哪里开始入手。建议从文档开始入手,因为不需要写任何代码,可以找文档中存在的小bug,来进行提交,借此熟悉提交流程。
对于git新手如下2个很棒的资料推荐给大家:
Git quick reference for beginners:Git quick reference for beginners
Git and GitHub videos for beginners:Git and GitHub videos for beginners
1、创建github账号
注册链接:Build software better, together
2、for项目仓库
进入项目的主页,点击fork按钮,这样就会在自己的github账户里创建一个副本。

3、将代码clone到本地
git clone xiajunhust/Sentinel

4、切换到本地代码目录。
cd Sentinel
5、设置remote

上图描述了各仓库间的关系(图侵删)。原始的项目是upstream remote,我们fork的项目叫origin remote。
正常情况下将fork的代码库clone到本地的时候会自动设置fork的分支为origin remote,可以使用如下命令check:
git remote -v
如果看不到origin remote,使用如下命令进行设置:
git remote add origin URL_OF_FORK
设置upstream  remote:
git remote add upstream URL_OF_PROJECT
6、更新upstream到本地仓库
git pull upstream master
7、创建新分支
git checkout -b BRANCH_NAME
8、在本地修改代码或文档
9、提交
git add -A git commit -m "DESCRIPTION OF CHANGES
10、push修改内容到fork仓库
git push origin BRANCH_NAME
11、开始pull request
在fork仓库的页面可以看到如下:

12、创建pull request

要描述自己修改的内容,如果有关联的pr,要贴上链接。preview可以预览内容。准备好了以后点击Create pull request。
下图描述了整个流程:

13、review pr
创建好的pr在源项目仓库里可以看到,可以看到相关提交以及文件变更内容。

创建了pr依然可以再提交修改。在pr的下面comment地方可以进行讨论。
分支合并后就可以从fork仓库删除掉了。
14、更新源仓库代码到fork仓库
先更新到本地仓库:
git pull upstream master.
然后push到origin remote:
git push origin master


Github优秀资源推荐

下面给大家推荐github上优秀的人气开源项目,涵盖分布式、数据库、大数据计算、机器学习、前端以及技术发展路线、面经等等方面。

之前比较火的后端工程师发展路线:

(1)分布式相关
阿里巴巴限流组件:alibaba/Sentinel
RocketMQ消息中间件:apache/rocketmq
dubbo:apache/dubbo
分布式事务seata:seata/seata
netty:netty/netty
(2)实时计算
flink:apache/flink
flink-forward-china-2018:flink-china/flink-forward-china-2018
(3)工作流引擎
activiti:Activiti/Activiti
(4)数据库
tidb:pingcap/tidb
----------------------------------
我的一些其他高赞回答,感兴趣可以看看:
回复

使用道具 举报

该用户从未签到

7

主题

28

帖子

118

积分

注册会员

Rank: 2

积分
118
发表于 2022-9-21 21:14:09 | 显示全部楼层
在我看来,使用GitHub也存在如《人间词话》中的三重境界。
第一重境界:昨夜西风凋碧树。独上高楼,望尽天涯路。


作为一个小白用户,机缘巧合,你刚刚注册了GitHub的账号,还不知Git,Push,Pull,Pull Request,Repository为何物。懵懵懂懂,如一个单纯的小孩,来到了满是漂亮贝壳的沙滩,却还叫不出颜色的名字。
朋友中只有自己一个人在玩GitHub,在浏览着网页的你,心中还有淡淡的孤独与忧伤。
面对着被star过万遍的repositories,关注者以k计的id们,你发出一声长叹:什么时候我才能写出那样的名库,成为那样的牛人。
第二重境界:衣带渐宽终不悔,为伊消得人憔悴。


你创建了第一个repo,用来存放自己写过的小代码们。
你创建了 你的http://id.github.io,用hexo或jekyll开始了自己的技术博客之旅。
第一次pull request,第一次被别人pull request。
第一次创建issue,第一次被别人创建issue。
你想到了一个idea,在google search和stackoverflow的忠心辅佐下,攻克一个又一个技术难题,实现一个又一个feature,你的开源项目越来越像那么回事。
一年有365天,你的GitHub上竟然就有365条打卡记录,无一天中断。
别人在感叹,在技术上成长怎么那么难,你反问他:你见过GitHub凌晨四点的样子吗?
第三重境界:众里寻他千百度,蓦然回首,那人却在灯火阑珊处。


感谢时间这个好朋友,你有一天发现,你的followers也是以k计,你新开一个repository就引来了上百个watch。
你给Apache贡献过代码,给Tensorflow实现过feature,给Linux修过bug。
你在业界小有名气,很多人都知道你,你也认识很多人,你和你的朋友们在线上线下相遇,觥筹交错,谈笑风生。
江湖上都称呼你为大牛,在一年一度的技术峰会上,XX科技一个带黑框眼镜的长发美女记者问你,“在成长为大牛的道路上,你最感谢谁?” 眼前的这个妹妹好像在哪里见过,你用拇指和食指摸了摸下巴,看着她的眼睛,缓缓说道,“感谢爸妈,感谢GitHub。”
<hr>为了学习 Python,我曾经和好朋友结伴一起写了一个学习 Python 100 天的项目,分享在GitHub上了。如果是一个新手想学习 Python ,这一定是一个比关注。

赠人一赞,手留余香!我是 @无欢不散

,关注我,收获更多!
回复

使用道具 举报

该用户从未签到

8

主题

105

帖子

335

积分

中级会员

Rank: 3Rank: 3

积分
335
发表于 2022-9-21 21:29:09 | 显示全部楼层
本文千字从介绍GitHub开始到如何快速学习和如何在上面写东西。
目录:


  • 认识GitHub和Git
  • 如何快速在Github找到我们想要的东西
  • 如何学习开源项目
  • 如何在git上发布内容
一、认识GitHub和Git

课程:


GitHub是一家公司,位于旧金山,由 Chris Wanstrath, PJ Hyett 与 Tom Preston-Werner 三位开发者在2008年4月创办。
2008年4月10日,GitHub正式成立,地址:How people build software · GitHub ,主要提供基于git的版本托管服务。一经上线,它的发展速度惊为天人,截止目前,GitHub 已经发展成全球最大的开(同)源(性)社区。
GitHub提供基于git版本托管服务,也就是git是GitHub上用来管理项目的一个工具。
二、如何快速在Github找到我们想要的东西


在GitHub上面有:

  • 开源项目
  • 多人协作
  • 可以搭建博客、个人网站或者公司官网
  • 多角度个人简历>>很多人刷星星
高级条件组合(精确搜索)
in:readme 微服务 stars:>1000in:readme spring security stars:>3000 in:name python            #在名字中包含python的项目in:name python  stars:>5000        #过滤喜欢数in:name python  stars:>5000   forks:>5000 in:readme python stars:>1500in:description 微服务 language:go pushed:>2019-10-01             #在描述中限制in:description 爬虫  language:python  stars:>1000  pushed:>2019-10-01

三、如何学习开源项目

全球顶级科技公司纷纷加入 GitHub ,并贡献他们自己的项目代码


  • Google: https://github.com/google
  • 苹果: https://github.com/apple
  • Facebook: https://github.com/facebook
  • Twitter:https://github.com/twitter
  • 微软:https://github.com/microsoft
  • Square:https://github.com/square
  • 阿里:https://github.com/alibaba

全球顶级开源项目都优先选择在 GitHub 上开源


  • Linux:https://github.com/torvalds/linux
  • Rails:https://github.com/rails/rails
  • Nodejs:https://github.com/nodejs/node
  • Swift:https://github.com/apple/swift
  • CoffeeScript:https://github.com/jashkenas/coffeescript
  • Ruby:https://github.com/ruby/ruby

如果想要学习干货:知识点+笔记+书名
GitHub 上拥有大量的学习资源,从各类的文章到笔记,还有各式各样的电子书。如:

  • 只需要搜索: 类型 + 笔记,如 操作系统 笔记 就能找到一些操作系统相关的笔记。
  • 只需要搜索: 书名 就能找到一些和这本书相关的资源,如 重构 改善既有代码的设计。
四、如何在git上发布内容

注册:

创建仓库:

进入仓库:

创建完什么都没有,会提示create一些东西:

然后就是安装git工具:

安装步骤跳过了哦,大家安装完之后---cmd命令行---win+r回车
第二步:将本地仓库和远程仓库对应起来
命令:git remote add origin huguangcheng/git-
git remote add 远程仓库名(可以自己定义,默认是origin,初学不要乱改,以免混淆) 远程仓库地址(在这里我填的是我之前建的仓库的地址)
远程仓库的地址,我们回到github的官网,到你的仓库里新建的仓库去:

把这个地址复制,就是你远程仓库的地址
命令回车之后,git就知道你本地这个项目仓库对应的就是github上的那个仓库了
第三步:上传项目或者代码到远程仓库
上传到服务器需要三步曲:

  • git add . -------------添加所有的文件到缓存区
  • git commit -m "备注" ------------将缓存区的所有改动都给提交到本地仓库管理中心去
  • git push -u origin master ----------将本地所有改动提交都推送到远程仓库
master是github远程仓库分支(master是默认的主干,自己就是一条分支)
完整详细内容:手把手带你入门github
回复

使用道具 举报

该用户从未签到

4

主题

56

帖子

176

积分

注册会员

Rank: 2

积分
176
发表于 2022-9-21 21:44:09 | 显示全部楼层
作为一个普通程序员,我只能高呼 github YYDS!
分享一个github46k标星,247位贡献者持续添加资源链接的宝藏资源。
内容从新手入门的通用工具、编码建议、代码训练,到进一步提升自己的论坛频道、网课推荐、编程比赛,甚至还有工作职位的相关链接。
github链接地址:https://github.com/sdmg15/Best-websites-a-programmer-should-visit











以上这些只是部分内容,详情大家可以自己去看!
这里也分享一下我自己写的东西,希望你喜欢:



如果喜欢,可以给我点赞呀,万分感谢~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表