#git branch dev //创建一个名为dev的分支
#git checkout dev //切换到dev分支
#git checkout -b bug1 //创建一个名叫bug1的分支,并切换到bug1
#git branch //查看所有分支
![](https://img.haomeiwen.com/i12797094/55f330c120f773b7.png)
git branch -d bug01 //删除bug01分支
![](https://img.haomeiwen.com/i12797094/dfd7c2e17de7fcbf.png)
在dev环境创建了readme.txt文件,并编辑提交到了本地仓库的dev分支,这时切换到master分支,使用git merge命令将dev分支上的文件合并到master分支上:
#git merge dev
![](https://img.haomeiwen.com/i12797094/ef26bf73a96b5620.png)
![](https://img.haomeiwen.com/i12797094/c5c66d51d6305f6c.png)
解决合并的冲突问题,如果在dev分支上对文件进行的编辑,在master分支上也对文件进行的编辑,这时就出现了冲突,如下图:
![](https://img.haomeiwen.com/i12797094/e7a1ef8d7dedef7a.png)
在这种情况下进行merge需要手动解决冲突,然后提交:
![](https://img.haomeiwen.com/i12797094/08a4e21390061559.png)
需要手动将不需要的代码删掉,然后将最终的文件提交到本地dev分支上。
![](https://img.haomeiwen.com/i12797094/e9ffe67941e2b35f.png)
![](https://img.haomeiwen.com/i12797094/209895031cd5bd32.png)
![](https://img.haomeiwen.com/i12797094/d59ae6ca110a3f7c.png)
在实际开发中,我们应该按照几个基本原则进行分支管理:
首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;干活都在dev分支上,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;每个开发人员都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。所以,团队合作的分支看起来就像这样:
![](https://img.haomeiwen.com/i12797094/4f929eecccae3aba.png)
储藏分支
现有主分支master,从主分支切了一个dev分支,进行新功能的开发。但是开发进行到中途,领导说线上和master项目有重大bug请速度解决。但是在开发新功能,但没有提交,需要把当前dev分支的工作现场储藏起来。从master切一个bug分支出来解决bug。解决完之后回到master再合并bug分支。再删除bug的分支,恢复dev分支。
git stash储藏当前分支的工作区 ,储藏完成这后再执行git status发现工作区tree clean:
![](https://img.haomeiwen.com/i12797094/9a22d013287ccfa0.png)
git stash list显示当前分支储藏的工作区的集合:
![](https://img.haomeiwen.com/i12797094/39f34c4f2b957b2d.png)
git stash pop取出当前分支储藏的工作区栈顶的第一个储藏对象:
![](https://img.haomeiwen.com/i12797094/efcb3b156d2a1732.png)
如何使用Git的分支,每个公司都不同,这时我看到的比较规范的git分支的定义:
![](https://img.haomeiwen.com/i12797094/26e5fb88cb4da0cb.png)
网友评论