版本控制软件:分为
- 集中式版本控制 例如SVN
- 分布式版本控制 例如 git
本文就介绍关于git 的相关用法
1. 什么是git
- 分布式 版本控制 软件(分布式:本地也会存在历史版本,可以在本地进行迭代)
- 理解:git版本控制的三个区域
2. 安装git
git软件安装在开发端,并不是在仓库端,如下图:
- 安装详细步骤参照官网:
https://git-scm.com/book/zh/v2 - 从这里开始默认已经完成本地安装
安装完毕,检测本地是否已经安装成功,可以使用命令
git --version
3.应用
场景一:安装后第一次使用
安装完毕git ,开始进行第一次代码托管动作
- 首先进入文件夹
- 初始化文件,让git 开始管理当前文件夹(git init)
如下图
- 至此,已经完成了初始化,后面就是可以通过键入命令完成一系列操作了
1. 检查管理的文件夹中的文件状态
git status
新增文件或者修改过的未提交的文件都是红色
2. 管理指定文件(红色变为绿色)
git add 文件名
注:管理指定文件
git add .
注 管理本文件夹下所有的文件
3. 生成版本
git commit -m '这里添加修改备注描述'
上面这些命令可以实现了版本的控制,下面的一些命令是其他常用的
- 1.查询当前 git 的用户信息
git config --global user.name
git config --global user.email
- 2.设置当前git 的用户信息
git config --global user.name '要设置的姓名'
git config --global user.email '要设置的邮箱'
- 3.查看已经存在的版本记录
git log
场景二:回滚
一天,小明在系统上增加了一个语音导航的功能,测试通过后,上线了
第二天,开发经理过来说,小明,我觉得语音导航功能不好,先下线吧
小明问.为啥,有什么地方不好的?开发经理说,我也不知道,我拍脑袋决定的
小明:(&……&)()()
小明要执行回滚到上一个版本
1. 查询版本号,查询上一个版本的版本号
git log
2. 使用reset 命令,进行回滚
git reset --hard 版本号
至此,系统回滚到上一个版本了
第二天,XX 开发经理又过来,对小明说,明啊,我又想了一下,
语音导航功能还是不错的,再发布上去吧
小明问:为啥,开发经理说:不知道,我也是拍脑袋决定的
小明:()&……&%……%……&……&……&
小明,又要回到之前的版本
此时,不能再用上面的 git log 查询版本了(详情见下图)
需要用到新的命令
git reflog
然后选择要回滚的版本号,执行回滚
git reset --hard 版本号
场景三:多人协作与处理BUG
场景描述:在正常开发过程中,已经在线上跑的生产代码、要新增的功能、解决产生的BUG 三种情况下,会对代码进行变更,对版本控制带来影响
要解决这个这个问题,需要引入 ‘分支’的概念
有了’分支’的概念后,那么为了规范分支的使用,确定正确的’工作流’
分支
即,从主干上开辟出来的单独的一条线,进行开发(如图:)
命令汇总
- 查看分支
git branch
- 新增分支
git branch 分支名
- 切换分支
git checkout dev
- 分支合并
注意:这里进行合并时,格式为:主线 merge 分支 将分支的代码合并到主线上
一定要先切换到主线
git merge dev
- 删除无效分支
git branch -d bug
持续更新关于github部分…