书接上回,上一篇文章中我们有讲到git的安装,提交,以及同步。详情请查看上一篇文章,《前端人眼中的GIT(上)手把手教git使用》
今天我们来看看git的其他使用方式,例如查看提交的历史记录,回退各个版本,比较三个区域的不同,还用工作中常用的git分支
查看git的提交记录
git log
或 git log --oneline
上面两句代码的区别:
git log
是显示详细的git记录git log --oneline
是将每条记录缩略成一行显示
例如:我向仓库中提交了两次,那么我们来看看两个语句的最终显示效果
git log
git log --oneline
备注:我们所看到的一长串的乱码,那是git生成的每一次提交记录的id
比较区域之间的不同
git分为三个区,分别是工作区、缓存区、和仓库,工作流程上文中有详细说过
比较工作区和缓存之间的区别
前提是我们向缓存区添加过记录
例:项目中的02.html没有任何代码,现在我向02.html中写入代码
初始:
变化
运行git diff
命令查看工作区与缓存区的区别
运行git diff --chached 查看缓存区与仓库的区别
将上面工作区的记录提交到缓存区后,执行git diff --cached
指令
回退历史版本
回退工作区内容git checkout
git checkout
相当于ctrl+z,只不过比ctrl+z高级一点,它可以同时回退多个文件
例:/
初始:
html修改后
运行git checkout
后
回退缓存区内容指令git reset
回退仓库到指定历史记录
git reset --hard 历史记录id
历史记录id,git log
出来的如下图
git分支
查看分支(创建分支之前我们先来查看当前仓库所有分支)
git branch
此时只有一个分支,分支名是master
创建分支
创建分支就相当于我们将项目文件夹复制了一份
命令
git branch 分支名
创建了一个名为a的分支(这相当于将复制的项目文件重命名为a的操作)
切换分支 (创建分治后我们需要切换到创建好的分支)
指令:git checkout 分支名
这一步相当于,使用一个新的vscode窗口打开复制的项目文件夹,接下来的所有代码操作都在这个新开的vscode中完成,这样我在新开的vscode中修改的所有操作,都不会影响到我原先的项目文件夹
这也是我们使用分支的最重要的原因,尽可能的不在仓库主分支上操作文件。
合并分支
指令:git merge 分支名
例:将子分支合并到主分支
步骤:
- 切换到将要合并的分支中(合并的目标分支)主分支
- 运行
git merge 子分支名
这一步相当于将复制的项目文件夹与源文件夹合并
删除分支
指令:git branch 分支名 -d
或 git branch 分支名 -D
区别:
git branch 分支名 -d
只能删除已经合并过的分支 相当于删除文件我们没有管理员权限git branch 分支名 -D
不论什么情况下的分支都能被删除(强制删除)相当于拥有管理员权限的删除文件
例:删除刚刚新建的分支a
步骤:- 切换到其他分支中 主分支
- 运行
git branch 分支名 -d
删除分支的原因:一般都是觉得这个版本的代码不OK,才会执行这一步操作
扩展:
修改同步远程仓库地址,使用场景
1、线上仓库更名
2、需要上传到其他仓库
指令:git remote set-url origin 新地址
下载线上仓库
第一步:初始化本地仓库git init
第二步:克隆远程仓库 git clone 远程仓库地址
线下同步线上的仓库
本地运行 git pull
完
以上就是我对git知识的全部分享啦