文章目录
- 1. 创建分支
- 2. 切换分支
- 3. 合并分支
- 4. 删除分支
- 5. 分支冲突
- 6. 分支管理策略
- 合并模式
- 分支策略
- 7. 分支bug
- 8. 强制删除分支
1. 创建分支
git branch 分支名
master和dev指向同一个commit id,这是因为master指向的是最新提交,dev指向自己最新一次提交
2. 切换分支
git checkout 分支名
3. 合并分支
git merge 分支名
4. 删除分支
git branch -d 分支名
如果处于当前分支下,是不能删除的
创建、合并、删除分支都是很快的,当使用某个分支完成某个任务的时候,合并之后再删掉,这个虽然和master分支的效果一样,但是更安全
5. 分支冲突
- <<<<<<< HEAD到=======中间的表明在当前分支的冲突内容
- =======到>>>>>>> dev1中间的表明是dev1分支冲突的内容
git没放解决这个问题,需要开发者自己决定
此时状态:
出现分支冲突时,需要手动解决,并且再次提交一次
6. 分支管理策略
合并模式
fast forward:
直接merge合并,默认采用的是fast forward
这样并不能看出到底是最新提交还是merge进来的
no-fast forward:
git merge --no-ff -m "messgae" 分支名
分支策略
master主分支必须是稳定的,是发布的版本,日常维护是在其他分支维护
7. 分支bug
当在一个分支上进行开发时,master分支突然报bug了,此时并不能在当前分支解决bug,因为这个分支是用来开发的。
所以要再建立一个分支,来修复bug,修复完毕之后,合并分支,再删除这个修改bug的分支。
但这里的问题是,在开发的分支上,目前还无法提交
先将当前开发分支内容保存:
git stash
保存的内容是要已经被git追踪管理的文件
修复bug…:
查看临时存储区内容:
git stash list
恢复存储内容:
git stash pop
- 开发完毕之后,先用开发分支合并master分支,这样就算合并冲突了,也不会影响到master分支
- 合并完毕之后,再用master分支合并开发分支,冲突问题在开发分支中已经解决了,此时就不会再冲突
- 最后删除开发分支和修复bug分支
8. 强制删除分支
开发到一半的时候,如果不需要当前分支功能了,git branch -d dev是不能进行删除的,因为git对分支进行了保护
采用-D进行强制删除git branch -D dev
还没有评论,来说两句吧...