目录
前言
在实际开发中,我们应该按照几个基本原则进行分支管理:
首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;
你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。
所以,团队合作的分支看起来就像这样:
一、新建分支
1.1 在主分支master的其中一个节点上新建两个分支test1、test2,示意图如下:
每一个提交节点的箭头指向它的父节点(父提交)
1.2 使用命令查看:git log --graph --oneline --decorate --all
可以看到:
- 每一个“
*
” 代表一个提交节点 92a00d0 t1-1
节点的父节点为1951f82 m3
03e9d33 t2-1
节点的父节点也为1951f82 m3
- 当前处于master分支,所以master分支都在第一列(分支前面的星号排在第一列)
二、合并test1分支
2.1 合并
使用命令 git merge test1 -m "合并test1"
合并test1分支
每一个提交节点的箭头指向它的父节点(父提交):
合并test1
的父提交同时为m4
和t1-2
2.2 查看
使用命令查看:git log --graph --oneline --decorate --all
可以看到:
9d913af
(HEAD -> master) 合并test1 节点的父节点为:5e60ec4
m4 (因为红色的线条指向了它)9d913af
节点的父节点同时也为:6a5e471
(test1) t1-2 (绿色线条往上指向了它)- 所以
9d913af
节点 是5e60ec4
和6a5e471
的合并,一目了然。
三、合并test2分支
3.1 合并
使用命令 git merge test2 -m "合并test2"
合并test2分支
每一个提交节点的箭头指向它的父节点(父提交):
合并test2
的父提交同时为合并test1
和t2-2
3.2 查看
使用命令查看:git log --graph --oneline --decorate --all
可以看到:
-
a043614
的父节点为9d913af
和15f365e
-
03e9d33 t2-1
父节点为1951f82 m3
从一个星号按照线条指向父节点的星号(一个星号代表一个提交) -
92a00d0 t1-1
父节点为1951f82 m3
从一个星号按照线条指向父节点的星号(一个星号代表一个提交)