专栏首页北京宏哥Git的使用 -- 用git玩翻github,结尾有惊喜!有惊喜!有惊喜!林妙妙看了说:牛呲呼啦带闪电 (三)(超详解)

Git的使用 -- 用git玩翻github,结尾有惊喜!有惊喜!有惊喜!林妙妙看了说:牛呲呼啦带闪电 (三)(超详解)

简介

上一篇主要讲解的是Git安装及配置,这一篇就详细的从无到有的来用Git玩翻github。

一、什么是Github

Github是全球最大的社交编程及代码托管网站(https://github.com/)。

Github可以托管各种git库,并提供一个web界面(用户名.github.io/仓库名)

二、Github和Git是什么关系

Git是版本控制软件

Github是项目代码托管的平台,借助git来管理项目代码

1、 使用Github

目的:借助github托管项目代码

2、基本概念

a、仓库(Repository)

仓库的意思,即你的项目,你想在 GitHub 上开源一个项目,那就必须要新建一个 Repository ,如果你开源的项目多了,你就拥有了多个 Repositories 。

仓库用来存放项目代码,每个项目对应一个仓库,多个开源项目则有多个仓库。

b、收藏(Star)

仓库主页star按钮,意思为收藏项目的人数,收藏项目,方便下次查看,在 GitHub 上如果你有一个项目获得100个star都算很不容易了!

【如何收藏】

操作:打开对应项目主页,点击右上角 star 按钮即可收藏

情景:张三无意访问到李四的开源项目感觉不错并进行收藏

【如何查看自己得收藏】

c、复制项目(Fork)派生

这个不好翻译,如果实在要翻译我把他翻译成分叉,什么意思呢?你开源了一个项目,别人想在你这个项目的基础上做些改进,然后应用到自己的项目中,这个时候他就可以 Fork 你的项目(打开项目主页点击右上角的fork按钮即可),然后他的 GitHub 主页上就多了一个项目,只不过这个项目是基于你的项目基础(本质上是在原有项目的基础上新建了一个分支),他就可以随心所欲的去改进,但是丝毫不会影响原有项目的代码与结构。

注意:该fork的项目时独立存在的

比如:张三fork了李四的项目,相当于张三复制了李四的项目,所以自己也单独有了一个一样名称的仓库(注:该仓库会声明来自于李四,但是独立存在)

d、发起请求(Pull Request)

发起请求,这个其实是基于 Fork 的,还是上面那个例子,如果别人在你基础上做了改进,后来觉得改进的很不错,应该要把这些改进让更多的人收益,于是就想把自己的改进合并到原有项目里,这个时候他就可以发起一个 Pull Request(简称PR) ,原有项目创建人,也就是你,就可以收到这个请求,这个时候你会仔细review他的代码,并且测试觉得OK了,就会接受他的PR,这个时候他做的改进原有项目就会拥有了。

e、关注(Watch)

这个也好理解就是观察,如果你 Watch 了某个项目,那么以后只要这个项目有任何更新,你都会第一时间收到关于这个项目的通知提醒。

f、问题(Issue)

发现代码BUG,但是目前没有成型代码,需要讨论时用; 问题的意思,举个例子,就是你开源了一个项目,别人发现你的项目中有bug,或者哪些地方做的不够好,他就可以给你提个 Issue ,即问题,提的问题多了,也就是 Issues ,然后你看到了这些问题就可以去逐个修复,修复ok了就可以一个个的 Close 掉。

g、Github主页

账号创建成功或点击网址导航栏github图标都可进入github主页:该页左侧主要显示用户动态以及关注用户或关注仓库的动态;右侧显示所有的git库

h、仓库主页

仓库主页主要显示项目的信息,如:项目代码,版本,收藏/关注/fork情况等

i、个人主页

个人信息:头像,个人简介,关注我的人,我关注的人,我关注的git库,我的开源项目,我贡献的开源项目等信息

3、注册github账号

官方网址:https://github.com

注意:

a、因为github在国外服务器所以访问较慢或者无法访问,需要FQ(***)

b、私有仓库只能自己或者指定的朋友才有权限操作(私有仓库是收费的)

c、新注册的用户必须验证邮箱后才可以创建git库仓库

4、创建仓库/创建新项目

说明:一个git库(仓库)对应一个开源项目。通过git管理git库

a、创建仓库

1)点击【Start a project】创建一个仓库

2)问题:点击【Start a project】创建一个仓库,后出现该页面

2)原因:未验证邮箱,点击下图框框中的链接进行验证

3)点击【resend】发送邮件验证邮箱

4)点击【verify email address】验证邮箱

说明:验证成功后会自动跳转github主页,重新点击【Start a project】即可创建仓库

5) 验证邮箱后,点击【Start a project】进入下图界面

b、仓库主页说明

注意:qq邮箱需要设置白名单才可以收到邮件

设置QQ邮箱白名单

1、打开QQ邮箱、点击【设置】

2、点击【反垃圾】

3、点击【设置域名白名单】

4、在新页面的input框中输入【github.com】添加即可

5、仓库管理

a、新建文件:仓库主页,点击【create new file】创建仓库文件

b、编辑文件:仓库主页,点击【需要修改的文件】进入文件详情页

c、删除文件

d、被删除文件如何查看信息

答案:点击commits按钮查看

e、上传文件

f、搜索仓库文件:快捷键(t)

6、下载/检出项目

7、Github Issues

作用:发现代码BUG,但是目前没有成型代码,需要讨论时用;或者使用开源项目出现问题时使用

情景:张三发现李四开源git库,则发提交了一个issue;李四隔天登录在github主页看到通知并和张三交流,最后关闭issue

三、基本概念(实战操作)

1、Github主页

2、个人主页

四、开源项目贡献流程

1、新建Issue

提交使用问题或者建议或者想法

2、Pull Request

步骤:

a、 fork项目

b、 修改自己仓库的项目代码

c、 新建 pull request

d、 等待作者操作审核

五、下面就是惊喜:Github Pages搭建网站

1、个人站点

访问:https://用户名.github.io

搭建步骤:

a、创建个人站点-》新建仓库(仓库名必须是【用户名.github.io】)

b、在仓库下新建index.html的文件即可

注意:a、Github Page仅支持静态页面

   b、仓库里面只能是.html文件

   c、个人主页也可以设置主题

2、Project Pages 项目站点

访问:https://用户名.github.io/仓库名

原理:gh-pages 用于构建和发布

搭建步骤

a、进入项目主页,点击settings

b、在settings页面,点击【Choose a theme 】来自动生成主题页面

c、新建站点基础信息设置

d、选择主题

e、发布网页(publish page)

六、小结

Clone和Fork的区别: fork(派生):将别人的仓库复制一份到自己的仓库。 clone(克隆):将仓库克隆到自己本地电脑中。 Fork的主要应用场景: 1.在A的仓库中fork项目B (此时我们自己的github就有一个一模一样的仓库B,但是URL不同) 2.将我们修改的代码push到自己github中的仓库B中 3.pull request ,主人就会收到请求,并决定要不要接受你的代码

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

推荐阅读

  • 远程办公经验为0,如何将日常工作平滑过度到线上?

    我是一名创业者,我的公司(深圳市友浩达科技有限公司)在2018年8月8日开始运营,现在还属于微型公司。这个春节假期,我一直十分关注疫情动向,也非常关心其对公司带来的影响。

    TVP官方团队
    TAPD 敏捷项目管理腾讯乐享企业邮箱企业编程算法
  • 数据中台,概念炒作还是另有奇效? | TVP思享

    作者简介:史凯,花名凯哥,腾讯云最具价值专家TVP,ThoughtWorks数据智能业务总经理。投身于企业数字化转型工作近20年。2000年初,在IBM 研发企业级中间件,接着加入埃森哲,为大型企业提供信息化架构规划,设计,ERP,云平台,数据仓库构建等技术咨询实施服务,随后在EMC负责企业应用转型业务,为企业提供云迁移,应用现代化服务。现在专注于企业智能化转型领域,是数据驱动的数字化转型的行业布道者,数据中台的推广者,精益数据创新体系的创始人,2019年荣获全球Data IQ 100人的数据赋能者称号,创业邦卓越生态聚合赋能官TOP 5。2019年度数字化转型专家奖。打造了行业第一个数据创新的数字化转型卡牌和工作坊。创建了精益数据创新方法论体系构建数据驱动的智能企业,并在多个企业验证成功,正在向国内外推广。

    TVP官方团队
    大数据数据分析企业
  • 扩展 Kubernetes 之 CRI

    使用 cri-containerd 的调用流程更为简洁, 省去了上面的调用流程的 1,2 两步

    王磊-AI基础
    Kubernetes
  • 扩展 Kubernetes 之 Kubectl Plugin

    kubectl 功能非常强大, 常见的命令使用方式可以参考 kubectl --help,或者这篇文章

    王磊-AI基础
    Kubernetes
  • 多种登录方式定量性能测试方案

    最近接到到一个测试任务,某服务提供了两种登录方式:1、账号密码登录;2、手机号+验证码登录。要对这两种登录按照一定的比例进行压测。

    八音弦
    测试服务 WeTest
  • 线程安全类在性能测试中应用

    首先验证接口参数签名是否正确,然后加锁去判断订单信息和状态,处理用户增添VIP时间事务,成功之后释放锁。锁是针对用户和订单的分布式锁,使用方案是用的redis。

    八音弦
    安全编程算法
  • 使用CDN(jsdelivr) 优化博客访问速度

    PS: 此篇文章适用于 使用 Github pages 或者 coding pages 的朋友,其他博客也类似.

    IFONLY@CUIT
    CDNGitGitHub开源
  • 扩展 Kubernetes 之 CNI

    Network Configuration 是 CNI 输入参数中最重要当部分, 可以存储在磁盘上

    王磊-AI基础
    Kubernetes
  • 聚焦【技术应变力】云加社区沙龙online重磅上线!

    云加社区结合特殊时期热点,挑选备受关注的音视频流量暴增、线下业务快速转线上、紧急上线防疫IoT应用等话题,邀请众多业界专家,为大家提供连续十一天的干货分享。从视野、预判、应对等多角度,帮助大家全面提升「技术应变力」!

    腾小云
  • 京东购物小程序购物车性能优化实践

    它是小程序开发工具内置的一个可视化监控工具,能够在 OS 级别上实时记录系统资源的使用情况。

    WecTeam
    渲染JavaScripthttps网络安全缓存

扫码关注云+社区

领取腾讯云代金券