分支模型
master
用来最终上线的分支,最终发布版本,整个项目中有且只有一个develop
项目中用来开发的分支,原则上项目中有且只有一个,develop 分支下面的分支是经常变化的,会创建新的分支,会删除分支
从develop创建的分支:
feature
功能分支,用于开发一个新的功能,从develop分出来进行开发,一般多人协作开发每人负责一个功能fix
这个分支我是用来修复一些不紧急的bug,一般针对已经上线的功能产生的缺陷improve
用于改进代码,重构,优化数据结构,排版等,功能不发生变化release
上线前,决定以上的branch哪些需要合并,feature-x,fix-a,improve-b等,决定后合并,并且定一个版本号,比如2.2,这时候时候这个分支就叫做:release-2.2,合并好后就不应该再次改动被合并的分支。release-2.2分支为上线前做准备,进行修改,测试完毕后合并到 master 上线,并且产生该版本的tag。最后在develop分支上合并并且删除release分支。并使用git push将版本信息推送到github中。
从master产生的分支:
- hotfix
用于紧急修复bug,从master分出来,修复完,合并到master产生tag,一般是用版本号第三位表示,比如:2.2.1。最后合并回develop分支继续开发
解决冲突
介于 <<<<<<<(七个‘<’) HEAD 和 ======= 的内容是原有的内容
介于 ======= 和 >>>>>>> 是拉取下来的代码
[1] git第十四讲基于分支模型的协同开发
[2] SourceTree的基本使用