【Git】一文带你入门Git分布式版本控制系统(分支管理策略、Bug分支)

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

个人简介

👀个人主页 前端杂货铺
🙋‍♂️学习方向 主攻前端方向也会涉及到服务端
📃个人状态 在校大学生一枚已拿多个前端 offer秋招
🚀未来打算 为中国的工业软件事业效力n年
🥇推荐学习🍍前端面试宝典 🍉Vue2 🍋Vue3 🍓Vue2&Vue3项目实战 🥝Node.js 🥭Git🍒Three.js
🌕个人推广每篇文章最下方都有加入方式旨在交流学习&资源分享快加入进来吧

Git 系列文章目录

Git 专栏参考链接
Git一【Git】一文带你入门Git分布式版本控制系统简介安装Linux命令
Git二【Git】一文带你入门Git分布式版本控制系统必要配置、工作原理、创建/克隆项目
Git三【Git】一文带你入门Git分布式版本控制系统创建版本库、 版本回退
Git四【Git】一文带你入门Git分布式版本控制系统撤销修改、删除文件
Git五【Git】一文带你入门Git分布式版本控制系统创建合并分支、解决冲突

文章目录


一、分支管理策略

通常合并分支时如果可能Git 会用 Fast forward 模式但这种模式下删除分支后会丢掉分支信息。

如果要强制禁用 Fast forward 模式Git 就会在 merge 时生成一个新的 commit这样从分支历史上就可以看出分支信息。

下面我们实战一下 --no-ff 方式的 git merge

1、创建 dev 分支修改 txt 并提交

我们创建新的 dev 分支修改 txt 文件推到暂存区并提交至本地仓库

在这里插入图片描述

git checkout -b dev
git branch
git add readme.txt
git commit -m "add merge"

在这里插入图片描述


2、切换至主分支并合并

切换到 master 主分支准备合并请注意 --no-ff 参数表示禁用 Fast forward

git checkout master
git merge --no-ff -m "merge with no-ff" dev

在这里插入图片描述


3、查看分支历史

git log --graph --pretty=oneline --abbrev-commit

摘自 廖雪峰的官方网站

在这里插入图片描述
在这里插入图片描述


二、Bug 分支

Bug 可以通过一个新的临时分支来修复修复后合并分支然后将临时分支删除。

1、不具备提交条件的 dev 分支

当我们正在 dev 分支上进行工作还没有提交并不是不想提交而是工作了一半没法提交这时出现了一个要紧急修改的 Bug我们便可以使用 stash 功能把当前工作现场“储藏”起来。

git branch
git status

在这里插入图片描述


2、储藏工作现场

我们使用 stash 把当前工作现场未完成的 dev 分支储藏起来之后查看状态很干净

git stash
git status

在这里插入图片描述

3、修复 Bug

假定我们要在 master 分支上修复 Bug代号 101

我们要进行以下 Bug代号 101的修改

在这里插入图片描述

在这里插入图片描述

我们首先切换到 master 分支之后创建一个临时分支 issue-101并提交

在这里插入图片描述

切换至 master 分支合并

至此Bug 修复完成

git checkout master
git merge --no-ff -m "merged bug fix 101" issue-101

在这里插入图片描述


4、恢复 dev 分支

我们先切换到 dev 分支查看当前状态

git checkout dev
git status

在这里插入图片描述

Git 把 stash 存放在某个位置了我们需要找回工作现场 dev 分支

在这里插入图片描述

之后我们需要对其进行恢复两种方法

方法一用 git stash apply 恢复但是恢复后stash 内容并不删除我们需要用 git stash drop 来删除
方法二用 git stash pop恢复的同时把 stash 内容也删了

在这里插入图片描述

之后删除 issue-101 分支查看当前分支情况要丢弃一个没有被合并过的分支可以通过 git branch -D <name> 强行删除

在这里插入图片描述


在这里插入图片描述


阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6