这是我参与8月更文挑战的第30天,活动详情查看:8月更文挑战
GIT 和 GITHUB
- 在这之前我们要先要清楚几个东西
git和github是两个东西,不是一个东西- 就像
java和javascript一样,是两个东西 - 需要搞清楚几个词语的意思
- 本地:我自己的终端
- 远程:在网络那一头的终端
- 仓库:一个被
git管理了的文件夹
什么是 GIT
git官方名称: 分布式版本管理器- 私人解释: 就是一个管理我们文件夹的工具
- 只不过可以保留所有的版本信息
- 就是我们安装一个软件
- 然后用这个软件来管理我们的一个文件夹
- 这个文件夹被
git管理以后,我们可以对他进行各种操作 - 保证我们写过的内容不会丢失
什么是 GITHUB
github是一个网站,是一个我们托管项目的平台- 是一个 世界级别 的大型网站
- 也就是说,我们写的项目的 源码 可以放在上面保存,只要我们不自己删除,不会丢失
- 就相当于百度云
- 只不过功能更加强大,上面都是开发人员(世界级别)
- 因为
github只接受git来上传代码,所以叫做github - 也就是说,我们可以通过
git这个软件来管理我们本地的文件夹- 并且可以把文件夹里面的代码上传到
github保存 - 也可以写一个插件之类的工具,上传到
github上面让其他开发者使用 - 也可以从
github上找到其他开发者写的插件之类的东西下载使用
- 并且可以把文件夹里面的代码上传到
- 所以说,
github也是一个大型的 开源 的资源共享平台
GIT 使用
- 刚才我们说过,
git是一个管理我们文件夹的工具 - 那么我们就要先安装工具,再使用工具管理我们的文件夹
GIT 安装
-
下载
git直接到官网下载就可以 -
找到和操作系统对应的版本就可以了
-
下载好以后,直接双击进行安装就行
-
一直下一步就可以,安装再默认路径就行
-
安装完毕后检测一下安装是否成功
-
方法一: 打开
cmd窗口,输入指令检查# 检测 git 是否安装 $ git --version- 出现版本号,说明安装成功
-
方法二: 随便找个地方单机 鼠标右键,出现下图内容,说明安装成功
-
-
安装完毕,接下来我们就可以开始使用了
GIT 使用
-
git是一个软件没错,但是不是那种安装了会再桌面出现一个图标的软件 -
而是一个需要在 命令行 进行操作的软件
-
我们单机鼠标右键,点击
Git Bash Here -
会出现下图内容
-
我们发现点开以后,就是一个 命令行窗口
-
其实就是给我们写一些指令使用的,只不过色彩鲜艳一点
- 使用
cmd或者powershell窗口来运行git指令也可以 - 只要是再终端运行就行
- OS 操作系统直接在 终端 中运行就行
- 使用
-
Git Bash Here表示再当前目录下运行Git Base -
所以,你在哪个文件夹下点击的,那么你出来的命令行窗口的目录就是哪里
-
我们就在命令行里面使用
git来管理我们的文件夹
GIT 初始化
-
我们希望一个文件夹被
git管理的话,那么就要在一个文件夹下进行 git 初始化 -
找到一个希望被
git管理的文件夹 -
在文件夹内单击鼠标右键,点开
Git Bash Here -
输入指令
# git 初始化的指令 $ git init -
然后文件夹内会多一个
.git的文件夹(这个文件夹是一个隐藏文件夹)
-
这个时候,我的这个
git_demo文件夹就被git管理了git不光管理这一个文件夹,包括所有的子文件夹和子文件都会被管理
-
注意: 只有当一个文件夹被 git 管理以后,我们才可以使用 git 的功能去做版本管理
- 也就是说,我们必须要把我们电脑中的某一个文件夹授权给
git git才能对这个文件夹里面的内容进行各种操作- 而
git init就是在进行这个授权的操作
- 也就是说,我们必须要把我们电脑中的某一个文件夹授权给
GIT 暂存区
-
当一个文件夹被
git管理了以后 -
git就会对当前文件夹进行 “分区” -
会分为三个区域
- 工作区:我们书写的源码就在工作区里面属性
- 暂存区:把我们想要存储的内容放在暂存区
- 历史区:把暂存区里面的内容拿出来形成一个历史版本
-
也就是说,我们需要把想成为一个版本的代码
- 要先放在暂存区
- 然后才能在暂存区里面放到历史去
- 才可以生成一个版本保存下来
-
我们要放入暂存区,要使用
git add指令 -
把单独一个文件放在暂存区
# 把文件夹下的 index.txt 文本放在暂存区 $ git add index.txt -
把单独一个文件夹放在暂存区(暂存区不能存放空文件夹)
# 把文件夹下的 ceshi文件夹 放在暂存区 $ git add ceshi/ -
把所有文件都放在暂存区
# 把文件夹下所有的内容都放在暂存区 $ git add --all # git add --all 有一个简单的写法 $ git add .- 全部存放的时候使用上面两个指令哪个都行
-
把已经放在暂存区的内容在拉回到工作区
# 拉回暂存区的 index.txt 文件 $ git reset HEAD -- index.txt # 拉回暂存区的 ceshi 文件夹 $ git reset HEAD -- ceshi/ # 拉回暂存区的 所有文件 $ git reset HEAD -- .- 注意:
--两边都有空格,拉回所有文件的时候有个.
- 注意:
-
暂存区,只是帮我们暂时存放内容,我们删除了还是会丢的
-
要想帮我们保存下来,那么还需要把暂存区的内容放到历史区
GIT 历史区
-
git的历史区,就是把我们暂存区里面的文件变成一个历史版本 -
当一些文件形成一个版本的时候,就会被一直记录下来了
-
向历史区里面添加内容的时候,必须保证 暂存区 有内容
-
因为历史区就是把暂存区里面的内容收录进去
-
向历史区添加内容使用
git commit -m "做一个简单的说明"# 把暂存区的内容放到历史区 $ git commit -m "我是第一个版本"- 我们一定要写一个简单的说明
- 因为当我们的历史版本多了以后,我们自己也记不住哪个版本做了哪些修改
- 所以有个简单的说明会好很多
-
这个时候历史区就有了我们的第一个版本
-
我们使用
git log这个指令查看版本信息# 查看当前历史区版本信息 $ git log
-
commit:这一个版本的版本编号 -
Author:作者 -
Date:本次版本的记录时间 -
后面的内容就是我刚才提交的时候写的说明
-
接下来我们对文件夹内的内容进行一些修改,然后再次创建一个历史版本
-
对
index.txt中的文本内容进行修改- 从
hello world改变成你好 世界
- 从
-
然后我们再次打印日志看一下
-
我们发现,日志信息变成了两条,也就是我们存在着两个版本的内容了
-
放在历史区的内容,理论上就丢不了了
-
现在我们可以把我们本地工作区中的内容给删除了,删除以后我们进行历史回退
-
我们使用
git reset --hard 版本编号进行历史回退# 回退到第一次提交的版本 $ git reset --hard ce0c17f7a703c6847552c7aaab6becea6f0197f2 # 回退到第二次提交的版本 $ git reset --hard abb2c4f12566440e04bc166c3285f855a37a3bb2 -
这个时候我们就可以来回来去的玩我们的历史记录了