Git速成学习第五课:分支管理策略
2024-08-31 22:08:58
Git速成学习笔记整理于廖雪峰老师的官网网站:https://www.liaoxuefeng.com/
通常合并分支时,如果可能用Fast forward模式,但是在这种模式下,删除分支后,会丢掉分支信息。
如果强制禁止Fast forward模式,Git就会在merge时生成一个新的commit,这样从分支历史上就可以看出分支信息。
下面我们仍实战一下 --no-ff方式的git merge:
首先,我们仍创建并切换分支:
$ git checkout -b dev
Switched to a new branch 'dev'
修改
readme.txt文件,并提交一个新的commit:
$ git add readme.txt
$ git commit -m "add merge"
[dev f52c633] add merge
1 file changed, 1 insertion(+)
现在,我们切换到master:
$ git checkout master
Switched to branch 'master'
准备合并dev分支,请注意--no-ff参数,表示禁用Fast forward:
$ git merge --no-ff -m "merge with no-ff" dev
Merge made by the 'recursive' strategy.
readme.txt | 1 +
1 file changed, 1 insertion(+)
因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去。
合并后,我们用git log看看分支历史:
$ git log --graph --pretty=oneline --abbrev-commit
* e1e9c68 (HEAD -> master) merge with no-ff
|\
| * f52c633 (dev) add merge
|/
* cf810e4 conflict fixed
...
可以看到,不使用Fast forward模式,merge后就像这样:
分治策略
在实际开发中,我们应该按照几个基本原则进行分支管理:
首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,
再把dev分支合并到master上,在master分支发布1.0版本;
你和你的小伙伴们都在dev分支上干活,每个人都有自己的分支,时不时地还往dev分支上合并就可以了。
所以团队合作的分支看起来就像这样:
Summary
Git在合并分支的时候,加上--no-ff参数就可以用普通模式进行合并,合并后的历史有分支,能看出来曾经做过合并,
而fast forward合并就看不出来有合并。
最新文章
- 触控的手牌—Cocos Creator
- js中的 || 与 &;&; 运算符 的使用
- Android开发2:事件处理及实现简单的对话框(Toast,AlertDialog,Snackbar,TextInputLayout的使用)
- .dwg(sw)-exb
- 工作中积累整理-CSS样式表(一)
- Sprint3总结和成员个人总结
- WPF 多语言实现
- winform里怎样在一个按钮上实现“单击”和“双击”事件?
- 单据类型BE构建
- css的使用技巧资料
- linux系统中如何查看日志 (常用命令)
- MongoDB Windows 下安装部署
- 转载--PHP json_encode() 和json_decode()函数介绍
- 【竞品分析】Android音乐播放器的竞品分析
- Java(Android)线程池 总结
- weblogic jsp 不生效解决方法
- 《你不知道的JavaScript》整理(六)——强制类型转换
- python学习1-1
- VUE基于ElementUI搭建的简易单页后台
- 使用Let's Encrypted HPPTS你的网站