一.什么是Github
1.Github是全球最大的社交编程及代码托管网站(https://github.com/)
2.Github可以托管各种git库,并提供一个web界面(用户名.github.io/仓库名)
二.Github和Git是什么关系
1.Git是版本控制软件
2.Github是项目代码托管的平台,借助git来管理项目代码
3.使用Github目的,借助github托管项目代码
三.基本概念
1.仓库:即项目,想在GitHub上开源项目,那就必须要新建Repository
1.1.如果开源的项目多,就拥有多个Repositories
1.2.仓库用来存放项目代码,每个项目对应个仓库,多个开源项目则有多个仓库
2.收藏:仓库主页star按钮,意思为收藏项目的人数,收藏项目,方便下次查看
2.1.在GitHub上如果有个项目获得100个star都算很不容易
3.如何收藏:打开对应项目主页,点击右上角 sta 按钮即可收藏
3.1.如何查看自己得收藏
4.复制项目:开源的项目,别人想在这项目的基础上做些改进,然后应用到自己的项目中
4.1.这时候就可以Fork项目(打开项目主页点击右上角的fork按钮即可),然后GitHub主页上就多个项目
4.2.只不过这项目是基于项目基础(本质上是在原有项目的基础上新建个分支)
4.3.就可以随心所欲的去改进,但是丝毫不会影响原有项目的代码与结构
4.4.注意:该fork的项目时独立存在的
4.4.1.比如:张三fork李四的项目,相当于张三复制李四的项目
4.4.2.所以自己也单独有个一样名称的仓库(注:该仓库会声明来自于李四,但是独立存在)
5.发起请求:其实是基于Fork的
5.1.如果在项目基础上做了改进,后来觉得改进的很不错,应该要把这些改进让更多的人收益
5.2.于是就想把自己的改进合并到原有项目里,这时候他就可以发起个请求
5.3.原有项目创建人就可以收到这个请求,这时候会仔细review他的代码
5.4.并且测试觉得OK,就会接受他的请求,这时候他做的改进原有项目就会拥有
6.关注:如果Watch某个项目,那么以后只要这项目有任何更新,都会收到这项目的通知提醒
7.问题(Issue):发现项目代码BUG,但是目前没有成型代码,需要讨论时用
7.1.例如:就是开源的项目,别人发现这项目中有BUG,或者哪些地方做的不好
7.1.1.他就可以给你提Issue即问题,提的问题多了也就是Issues
7.1.2.然后你看到这些问题就可以去逐个修复,修复ok就可以一个个的Close掉
8.Github主页:账号创建成功或点击网址导航栏github图标可进入github主页
8.1.该页左侧主要显示用户动态以及关注用户或关注仓库的动态,右侧显示所有的git库
9.仓库主页:项目的信息,如项目代码,版本,收藏/关注/fork情况等
10.个人主页:个人信息,头像,个人简介,关注我的人,我关注的人,我关注的git库
10.1.我的开源项目,我贡献的开源项目等信息
11.注册github账号网址:https://github.com
12.注意
a.因为github是的国外服务器所以访问较慢或者无法访问,需要FQ
b.私有仓库只能自己或者指定的朋友才有权限操作(私有仓库是收费的)
c.新注册的用户必须验证邮箱后才可以创建git库仓库
三.创建仓库/创建新项目
1.一个git库(仓库)对应一个开源项目,通过git版本控制软件管理git远程仓库
1.1.创建仓库:点击创建个仓库
1.1.1.问题:点击创建个仓库,后出现该页面
1.1.2.原因:未验证邮箱,点击下图框框中的链接进行验证
1.1.3.点击resend发送邮件验证邮箱
1.1.4点击verify email address验证邮箱:验证成功后会自动跳转github主页
1.1.5.重新点击【Start a project】即可创建仓库
1.1.6.验证邮箱后,点击进入下图界面
1.2.仓库主页说明
1.2.1.注意:qq邮箱需要设置白名单才可以收到邮件
1.2.2.打开QQ邮箱、点击【设置】
1.2.3.点击【反垃圾】
1.2.4.点击【设置域名白名单】
1.2.5.在新页面的input框中输入【github.com】添加即可
1.3.仓库管理
1.3.1.新建文件:仓库主页,点击【create new file】创建仓库文件
1.3.2.编辑文件:仓库主页,点击【需要修改的文件】进入文件详情页
1.4.删除文件
1.5.被删除文件如何查看信息:点击commits按钮查看
1.6.上传文件
1.7.搜索仓库文件:快捷键(t)
1.8.下载/检出项目
1.9.Github Issues作用:发现代码BUG,但是目前没有成型代码,需要讨论时用
1.9.1.或者使用开源项目出现问题时使用
1.9.2.情景:张三发现李四开源git库,则发提交个issue;李四隔天登录在github主页看到通知并和张三交流,最后关闭issue
四.基本概念(实战操作)
1.个人主页
五.开源项目贡献流程
1.新建Issue:提交使用问题或者建议或者想法
2.Pull Request步骤
a.fork公共开源项目
b.修改公共项目在自己仓库的项目代码(或者新增代码)
c.新建请求给原公共项目的作者说我有更新公共代码:pull request
d.等待原公共项目作者审批操作审核
六.小结
1.Clone和Fork的区别
fork(复制):将别人的仓库复制一份到自己的仓库
clone(克隆):将远程仓库克隆到自己本地电脑中
2.Fork的主要应用场景
2.1.在A的仓库中fork项目B(此时自己的github就有个一模一样的仓库B,但是URL不同)
2.2.将自己修改的代码push到自己github中的仓库B中
2.3.pull request请求,作者就会收到请求,并决定要不要接受你的代码