1. 什么是git
1.1 什么是git
git是一个免费的,开源的版本是控制软件
1.2 什么是版本式控制
版本控制是一种记录一个或者若干个文件内容变化,以便将来查阅特定版本修订情况的系统
1.3 什么是GitHub
GitHub是全球最大的社交编程及代码托管网站
GitHub可以托管各种git库,并提供一个web界面(用户名.github.io/仓库名)
1.4 GitHub和git是什么关系
git是版本控制软件
GitHub是项目代码托管的平台,借助git来管理代码
1.5 为什么学习GitHub
学习优秀的开源项目
关注行业前辈了解最新的行业动态
2. 使用GitHub
2.1 目的
借助GitHub托管项目代码
2.2 基本概念
2.2.1 仓库(repository)
用来存放项目代码,每个项目对应一个仓库,多个开源的项目对应多个开源仓库
2.2.2 收藏(star)
收藏项目方便下次查看
2.2.3 复制克隆项目(fork)
脚下留心 该fork的项目是独立存在与自己的仓库中的(复制到自己的仓库)
2.2.4 发起请求 pull request
李四发起请求张三修改 张三查看
等待李四查看
如果感觉不错,合并到原仓库中
实际上是基于fork的,如果别人在你的基础上做了改进,如果后来觉得改进不过的话,应该要让这些的改进使得更多的人收益,于是就想把自己的改进合并到原有的项目中,这是就是发起pull request请求,原有项目的创建人,就可以收到请求,这个时候你会仔细查看review他的代码,并且测试觉得ok,就会接收,这个时候他做的改进原有项目就会拥有
2.2.5 关注(watch)
如果你watch了一个项目,当项目更新的时候就可收到项目更新的提醒
2.2.6 事务卡片(issue)
发现代码的bug时,但是目前自己还没有成成型的代码,需要讨论时用
2.2.7 GitHub主页
-
GitHub主页
账号创建成功或者点击 网址导航的GitHub的图标的时候就可以进入GitHub主页,这个网页的左侧主要显示用户动态以及关注用户或者关注仓库的动态,右侧显示所有的git库
-
仓库主页
仓库主页主要显示项目的信息,如:项目代码,版本,收藏/关注/fork情况
-
个人主页
个人信息,头像,个人简介,关注我的人,我关注的人,我关注的仓库,我的开源项目,我贡献的开源项目等信息
2.3 注册GitHub
sign in登录
sign up注册
按照步骤进行就好了
填写邮件时非常重要的,需要接收邮件的
step1:按照顺序
step2:第一个时免费使用公开的仓库(任何人都可以访问和fork该仓库的项目)
第二个是私有的仓库,收费需要美元
step3:用户调查可以直接跳过
脚下留心
- 私有仓库只能自己或者指定的朋友才有权限操作(私有仓库是收费的)
- 新注册的用户必须验证邮箱后才可以创建git库仓库
- qq邮箱有可能需要设置白名单
- 点击qq邮箱的设置里面的反垃圾,添加GitHub.com就可以了
2.4 创建仓库/创建新项目
-
说明
一个git库(仓库)对应一个开源的项目
通过git管理git库
creat new file
创建文件upload files
上传文件find file
搜索仓库文件watch
关注star
收藏fork
复制克隆clone or download
直接下载或者通过gti克隆issue
新建issue用户名/仓库名
2.5 管理仓库
2.5.1 创建文件
creat new file
创建文件
一般都得加说明commit new file
用来描述项目是干什么的
文件名创建的时候需要加后缀
下面的那个表单需要填写每次提交的目的,原因是为了方便其他开发者知道本次添加了什么或者修改的原因
结束以后提交文件,然后会自动跳转到仓库主页同时还会有提交文件的目的
commits
显示的是提交的次数
2.5.2 编辑文件和修改文件
点击文件名,到文件详情页可以做删除和修改动作
点击描述可以查看文件提交的详细信息
edit this file
每次的edit也是一次commit
commit changes
修改文件
2.5.3 删除文件
点击文件名有一个垃圾桶的标号
可以有删除的描述
被删除后还可以点击commits
查看
2.5.4 上传文件
upload files
可以单个也可以多个,可以直接拖动过去
2.5.5 查找文件
find files
项目多的时候就可以查找
2.6 GitHub Issue
作用
:发现代码bug时,但是目前没有成型的代码,需要讨论时用;或者使用开源项目出现问题的时候使用
情景:张三发现李四开源了git库,提交了一个issue;李四隔天登陆在GitHub主页时看到通知并和张三交流最后关闭issue。
2.7开源项目贡献流程
2.7.1 新建issue
提交使用问题或者建议或者想法
2.7.2 pull request
- 提交使用问题或者建议
- 步骤
- fork项目
- 修改自己仓库的项目代码
- 发起pull request
- 等待作者审核
3. git安装和使用
3.1 目的
通过git管理 GitHub托管项目代码
3.2下载安装
3.2.1 下载
官网下载很慢
www.git-scm.com/download/win
3.2.2 安装
bash
命令行模式
gui
图形界面
检验是否安装成功:桌面右击鼠标查看是否两个git单词
4. git基本工作流程
4.1 git工作区域
工作区 working directory
添加、编辑、修改文件等动作
git repository (git)仓库
最终确定的文件保存到仓库,成为一个新的版本,并且对他人可见
暂存区
暂存已经修改的文件最后统一提交到git仓库
4.2 向仓库中添加文件流程
git status
查询仓库
git add 文件名(必须带后缀)
从工作区提交到暂存区
git commit -m “提交描述”
从暂存区提交到仓库
5. git初始化及仓库创建和操作(本地)
5.2 基本信息设置
5.2.1 设置用户名
git config --global user.name '仓库名'
5.2.2 设置用户邮箱
git config --global user.email '[email protected]'
- 脚下留心
该设置会在GitHub仓库主页显示谁提交了该文件
5.2.3 初始化一个新的仓库
5.2.3.1 创建文件夹
方式一:mkdir test
方式二:直接鼠标右击创建文件夹
创建文件 touch a1.php
创建名字为a1的php文件
5.2.3.2 在文件内 初始化git(创建git仓库)
pwd
显示当前目录文件夹 ls
显示当前文件夹下的文件
vi a1.php
用vim编辑器打开a1文件
cat a1.php
显示a1.php文件中的内容
cat -n a1.php
显示文件的内容和行号
cd test
进入文件夹
git init
初始化本地仓库 (如果看不见,则设置电脑显隐藏文件)
5.2.4 查看设置
git config --list
5.2.5 向仓库中添加文件
- 创建文件
- 添加到暂存区
- 将文件从暂存区提交到仓库
5.2.6 删除仓库文件
rm -rf a1.php
rm a1.php
删除文件git rm test.php
从git中删除文件git commit -m '提交描述'
提交操作
6. git管理远程仓库
6.1 使用远程仓管的目的
作用:备份,实现代码共享的集中化管理
6.2 将本地仓库同步到git远程仓库中
git bush
将本地仓库提交远程
6.3 git克隆操作
-
目的 ->将远程仓库(GitHub对应的项目)复制到本地
-
代码
git clone 仓库地址
仓库地址由来:GitHub上面有显示
7 GitHub pages 搭建个人网站
7.1 个人热点
访问 http://用户名.github.io
搭建步骤
- 创建个人站点 ->新建仓库 (注:仓库名必须是【用户名.github.io】)
- 在仓库下新建index.html的文件即可
脚下留心
- GitHub pages仅支持静态的网页
- 仓库里面只能是
.html
文件
7.2 project pages 项目站点
访问 http://用户名.github.io
搭建步骤
- 进入项目主页,点击settings
- 在settings页面下,点击【launch automatic page generator】来自动生成主题页面
- 新建站点基础信息
- 选择主题
- 生成网页