01Git介绍
Git是什么
- Git版本控制系是一个分布式的系统,是
用来保存工程源代码历史状态(游戏存档)的命令行工具 - Git是一个命令行(小黑窗)工具,用于版本控制(存档器)
Git的作用是什么?
版本管理工具:说人话就是可以记录你敲代码的每一个环节(类似于玩游戏存档)
Git应用场景介绍
多人开发代码管理
目前我们多人代码的时候,想把代码合并一起是利用最原始的复制粘贴操作。有了git之后,可以一键搞
异地开发代码管理
实际开发中,我们上班可能会用公司电脑敲代码。有时候回到家里用自己电脑偷偷加个班,以前的做法是备一个U盘,复制粘贴。有了git之后,直接一键搞定。
-
版本管理
比如我现在公司网站已经做出来了1.0版本在使用,现在计划增加一些新功能,但是这个功能不稳定需要经过开发和测试环节,为了不影响现有的稳定版本。以前的做法是把稳定版本单独拷贝一份增加功能,等做好之后再把以前版本给替换掉。有了git之后可以一键搞定。 -
版本回滚:
比如这周产品经理提出一个功能,我辛辛苦苦写了一周代码。
到了下周,产品经理说这个功能不做了,叫我删掉改成其他功能。
我们把代码删掉之后按照产品经理要求又辛辛苦苦写了一周代码。到了下下周,产品经理说这个功能还是没有上次那个好,还是改成上周的吧…………别着急,有了git之后,一键搞定。
版本管理工具还有其他的么?
- git:目前使用最多的版本管理工具
- svn:也有公司在用,用法与git类似(相当于腾讯视频和优酷视频)
02Git安装流程
下载
安装
全程默认点击即可,不用修改其他选项 (建议:不要安装在C盘之外的位置)
检测是否安装成功
如果在电脑任意文件夹中点击右键,能够出现Git命令选项,则说明安装成功
mac系统
1.首先使用自带的终端,输入 : git --version , 然后回车如果看到版本号。说明已经安装
2.如果没有看到版本号,可以在终端输入: brew install git , 然后回车等待安装。 安装成功之后重复步骤1,检查是否安装成功
03配置用户信息
为啥要配置
安装完git这个软件之后,要做的第一件事情就是设置自己的 用户名 和 邮件地址 ,这样我们就可以知道哪些人提交了什么代码。
配置用户信息命令
git config --global user.email "你的码云账号邮箱"
git config --global user.name "你的码云用户名(可以随便写)"
注意:
-
通过 git config --global user.name 和 git config --global user.email 配置的用户名和邮箱地址,会被写入到 C:/Users/用户名文件夹/.gitconfig 文件中。这个文件是 Git 的全局配置文件,配置一次即可永久生效。
-
上面的邮箱和用户名可以不是真实的, 也可以后面自行修改
查看所有的全局配置
查看所有的全局配置
- git config --list --global
查看指定的全局配置项
- git config user.name
- git config user.email
04使用git的基本工作过程
目标
掌握git的基本工作流程
9个常见操作
程序员比较高频的操作有9个。具体如下。
- 1.新建项目文件夹(只做一次)
- 2.进入文件夹 (重要)
- 3.初始化仓库:git init(只做一次)
- 4.编码
- 5.添加文件信息: git add .
- 6.确认添加信息:git commit -m"描述信息"
- 7.查看详细日志信息:git log
- 8.查看简略日志信息:git log --oneline
-
9.版本回滚:git reset --hard 版本号
第123步一个项目只需要一次,456步频繁使用,789步偶尔会用
1.新建文件夹
如果是老项目(已经存在的项目),这步可以省略了。
2.启动进入git命令
进入这个文件夹, 点击右键选择Git Bash Here
打开git命令行工具
3. 初始化项目
在小蓝窗输入 git init
注意:
-
如果是老项目,这一步就省略了。
-
.git目录可能是隐藏的,需要设置为可见才能看到
4. 编码(程序员的日常工作)
在这个目录下正常做开发:创建文件,修改文件内容....
例如: 添加 index.txt,并写入一些内容(任意内容均可)
5. 添加存档
命令: git add .
注意:这个命令只是将文件信息添加到暂存区,还没有真正存档,需要使用git commit命令确认存档才可以
6. 确认存档
命令 git commit -m "说明"
图示
以上流程是实际开发中主要使用流程
05git的三个区
三个区
●工作区: 处理工作的区域
●暂存区: 临时存放的区域
●本地git仓库: 最终的存放区域
对比理解
生活
文件夹
- 工作区: 在你电脑里看到的目录
- 暂存区: 在.git文件夹内的index中 (二进制记录)
- 版本库: 指的整个.git文件夹 (也认为是本地仓库)
在代码中的体现
三个区与git命令
07查看文件状态
没有被托管的文件: 未跟踪
已被托管(曾经add,commit过)的文件:已修改,已暂存,已提交
命令
# 查看仓库文件的状态
git status
# 查看简略版信息
git status -s
改动文件之后:
新添加文件:
- 未跟踪(新增的文件)
- 已修改(文件曾经被Git记录过了,然后在工作区对他进行了修改)
- 已暂存(新增的文件,添加到暂存区之后的状态)
- 已提交(nothing to commit)
-
- 表示没有什么东西可以提交了;即所有的内容都已经提交给git仓库了。
- 有的文档也把这个状态叫做 未修改,意思是自上次提交过后,代码还没有修改过
08代码恢复
从工作区恢复
改动了代码,想放弃修改(此时并没有add)
git status
git restore 文件名
从暂存区恢复
改动了代码,也add了,此时想放弃。
git reset HEAD 文件名
git checkout -- 文件名
整体回滚
回滚之后
git reset --hard 提交流水号
会导致log信息不全。改用 git reflog