【Git】一文带你入门Git分布式版本控制系统(分支管理策略、Bug分支)
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
个人简介
👀个人主页 前端杂货铺
🙋♂️学习方向 主攻前端方向也会涉及到服务端
📃个人状态 在校大学生一枚已拿多个前端 offer秋招
🚀未来打算 为中国的工业软件事业效力n年
🥇推荐学习🍍前端面试宝典 🍉Vue2 🍋Vue3 🍓Vue2&Vue3项目实战 🥝Node.js 🥭Git🍒Three.js
🌕个人推广每篇文章最下方都有加入方式旨在交流学习&资源分享快加入进来吧
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>
强行删除