个人简介
👀个人主页: 前端杂货铺
🙋♂️学习方向: 主攻前端方向,也会涉及到服务端
📃个人状态: 在校大学生一枚,已拿多个前端 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 系列文章目录
- 一、分支管理策略
- 1、创建 dev 分支,修改 txt 并提交
- 2、切换至主分支并合并
- 3、查看分支历史
- 二、Bug 分支
- 1、不具备提交条件的 dev 分支
- 2、储藏工作现场
- 3、修复 Bug
- 4、恢复 dev 分支
一、分支管理策略
通常,合并分支时,如果可能,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>
强行删除)