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