简介
上一篇主要讲解的是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 ,主人就会收到请求,并决定要不要接受你的代码

第三:GitHub的使用(超详细)相关推荐

  1. 新手该如何使用 GitHub?(超详细)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 编辑:3D视觉工坊 https://www.zhihu.com/question/21669554/a ...

  2. OAuth2 -GitHub授权登录超详细教程

    步骤一.在GitHub上设置一个OAuth App 一 二 三 四 举例 保存好secrets 步骤二.前端 设置一个按钮跳转到授权登录页 <a href="https://githu ...

  3. Spring属性注入的三种方式(超详细)

    属性注入的三种方式 使用set方法进行注入 使用有参构造函数进行注入 使用p名称空间注入 首先了解下面两个名词的含义: IOC:控制反转(Inversion of Control,缩写为IoC),是面 ...

  4. java获取系统时间的几种方法_Java篇—获取当前系统时间的三种方式(超详细+多方法)...

    1.通过util包中的Date类来获取当前时间 方法1详细代码: public class Exercise17 { public static void main(String[] args){ D ...

  5. 「影视解说」三联屏封面超详细制作方法,全网最简单三连视频封面

    2022年,全民的追剧方式可以说发生了翻天覆地的大改变.以前,了解一部片子只能通过别人介绍,或者是豆瓣影评中去汲取一些内容,而现在想了解一部电影但是又没有时间慢慢观看,大家只需要花2-5分钟,就可以全 ...

  6. vue中实现路由跳转的三种方式(超详细整理)

    vue中实现路由跳转的三种方式 一.使用vue-router vue-router 本质是一个第三方的包 用的时候需要下载 步骤 (7步法 ): 下载vue-router模块到当前工程 yarn ad ...

  7. Fiddler三小时搞定超详细教程

    如下图,刚安装是不能抓到https包的,需要一定的配置. 域名是用来协助我们找到主机用的,ping一下域名可以得到主机ip,如下图 客户端请求的内容实际上都是从服务器拿下来的 fiddler原理(代理 ...

  8. 超详细的计算机网络基础知识总结 第一章:概述

    本文基于:王道计算机考研-计算机网络 顺便提一嘴,王道计算机网络的小姐姐声音真滴好听 相关文章 超详细的计算机网络基础知识 第二章-物理层 超详细的计算机网络基础知识 第三章:数据链路层 超详细的计算 ...

  9. 超详细的计算机网络基础知识总结 第四章:网络层

    本文基于:王道计算机考研-计算机网络 ☺其他文章: 超详细的计算机网络基础知识 第一章:概述 超详细的计算机网络基础知识 第二章:物理层 超详细的计算机网络基础知识 第三章:数据链路层 超详细的计算机 ...

  10. CENTOS 7 踢用户_从零学ELK系列(三):Centos安装Docker(超详细图文教程)

    CSDN博客地址(关注,点赞) 人工智能推荐 GitHub(Star,Fork,Watch) [前言] 为了更加真实的模拟生产部署环境,不仅需要Linux环境支持,而且ELK需要在不同的机器上部署:再 ...

最新文章

  1. 解析EXCEL CSV格式文件的方法
  2. 计算概论(A)/基础编程练习1(8题)/4:求一元二次方程的根
  3. Mysql优化之开山篇
  4. ubuntu安装(owncloud-docker安装)
  5. 免费有理之文件备份软件
  6. jmeter生成html报告修改,jmeter:测试后生成html报告
  7. 适配器模式coding
  8. zookeeper 入门讲解实例 转
  9. 向Excle中插入多个表
  10. iPXE部署Ubuntu无盘系统
  11. 基于python的web框架——Flask 学习笔记
  12. TIFF图像文件格式与实例分析
  13. Magick.NET图片处理:解决Tga格式图片转Jpg后上下镜像问题
  14. 洛谷P6158 封锁,平面图最小乘积最短路
  15. OSChina 周五乱弹 ——给网戒中心打电话,结果……
  16. verilog:part select
  17. Ubuntu安装nvm
  18. 资本寒冬融资难,具备这四大特质的创业者更受青睐
  19. lua+libuv的一些开发心得
  20. Ubuntu下将rm命令替换为trash命令

热门文章

  1. 【转载】Java 性能优化之String
  2. (转载)芹菜拌豆腐皮 降压小凉菜
  3. hdu 1059 Dividing(多重DP)
  4. TCL多媒体2010年净盈余9.83亿港币
  5. 一次不愉快的面试经历
  6. MVVM模式与Reactive Extensions 学习与思考
  7. HTTP安全随想,第一指导原则:不要相信任何用户的输入[]
  8. linux下.so、.ko、.a的区别
  9. oracle sqlLoader 批量导入工具使用说明
  10. 细谈最近上线的Vue2.0项目(一)