天行健,君子以自强不息;地势坤,君子以厚德载物。
每个人都有惰性,但不断学习是好好生活的根本,共勉!
文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。
文章目录
Git相关文章参考:
Git学习和使用指南简单篇
Git学习和使用指南详细篇
Git命令汇总
Bug分支的使用
分支使用策略:
通常情况下master分支不被多人使用,只用来最终上线前的提交,大多数情况下使用dev分支进行开发提交
而项目组开发成员有多个时,可在dev分支下继续创建多个分支进行不同人员的开发提交,每个人都提交到dev,在上线前将dev提交到master即可
分支名:
除了主分支master、开发分支dev之外常见的还有bug分支和feature分支
1. 保护现场stash
bug分支:
当有一个bug需要修复,我们可以新建一个bug分支进行bug处理,处理结束后提交然后删除此bug分支即可
保护现场:
但当现有的开发分支dev分支上的任务还没有完成暂时不能提交,这时直接创建bug分支提交,会失败,因为bug分支是基于dev分支创建的,此时该如何创建bug分支,有一种方式:
使用保护现场的命令将现有分支dev此时的状态保存下来
先查看已提交和未提交的内容
git status
再将当前分支的状态保存下来
git stash
然后再查看发现暂存区没有未提交的内容了
git status
将状态保存后,可以开始bug修复了
2. 修复Bug
修复步骤:
2.1 切换分支
从哪个分支修复bug,就切换到那个分支上,如果我们需要再master上修复,则先切换到master
git checkout master
2.2 创建并切换到bug分支
在master分支创建bug分支,如b-001
git checkout -b b-001
2.3 修复、提交
修复后add,如修复了test01.text文件
git add test01.text
然后commit
git commit -m "fix test01.text"
切换回master分支
git switch master
将b-001的修改合并到master
git merge --no-ff -m "merge message for bug b-001"
现在再切换回dev分支
git switch dev
此时之前保存的dev状态还没有还原,现在的暂存区依旧是空的,如何恢复,执行以下命令
3. 恢复现场
恢复现场:
3.1 查看现场列表
先查看保护的现场列表
git stash list
查看的结果中有一个stash的id如stash@{0},id后面会有对应的描述包含了分支的commitId
3.2 根据stashId恢复现场
根据stash的id恢复:
git stash apply stashId
3.3 删除现场
恢复后需要删除stash,因为不会自动删除
git stash drop stashId
3.4 恢复并删除现场
也可以使用pop直接恢复同时删除,也就是相当于执行了上面的两个命令(3.2和3.3)
git stash pop stashId
4. 修复操作的同步
bug修复操作的同步:
Git有复制特定提交到当前分支的命令cherry-pick
在master分支修复了bug之后如何同步到dev分支,毕竟master分支的bug,dev也会有,此时可以通过将bug的提交复制到dev即可
如b-001的bug修复在master分支的提交Id为10010,我们将该提交复制到当前的dev分支即可
确认当前分支是dev,查看当前分支,带*好的是当前分支
git branch
复制bug修复的提交到当前分支
git cherry-pick 10010
执行该命令后git会将此次执行的操作也当做一次commit提交,并生成一个commitId
感谢阅读,祝君暴富!
原文链接: https://hanshan.blog.csdn.net//article/details/139091896