Git record

Git分支

一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能肯定当前分支,以及当前分支的提交点:工具

clipboard.png

每次提交,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也愈来愈长。测试

当咱们建立新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上:spa

clipboard.png

在dev分支新提交一次后,dev指针往前移动一步,而master指针不变:debug

clipboard.png

dev分支的工做完成,咱们就能够切换回master分支。切换回master分支后,如今把dev分支的工做成果合并到当前分支master上:指针

clipboard.png

主要分支介绍

master 基于线上代码的分支;
develop 公共自测分支,提交测试环境的分支;
publish 公共提测分支,版本任务提测发包分支;
debug bugfix 解决线上问题的分支,命名不固定,完成后单独自测,提测,解决上线后直接合并到master,全部的task任务都从master中提取,每次master更新后都须要从新把master合并到本身分支。ip

分支合并

建立task分支:
切换当前分支为master,而且确保代码为最新,
在master上建立新分支task,
之后每次master更新都须要更新本身的task任务。开发

task合并到 develop | publish:
首先确保本身分支已经更新了最新的master分支,
切换当前分支为develop分支,而且拉取远程develop分支更新,
在工具中选中task分支,右击合并task分支,
若是出现冲突,则解决冲突,以后push到远程,这样develop上就有了task分支。it

使用master分支保持线上最新代码;
使用Release分支进行合并版本迭代任务;
使用hotfix分支进行修复线上bug或者须要紧急上传某些需求。
临传/固传均当从master分支拉取(pull)并建立本身的开发分支(feature),在本身的分支进行开发;研发代码写完后,只须要推送(push)代码到本身的分支;
合并请求:临传默认目标分支为hotfix分支; 固传默认目标分支为Release分支。ast

开发过程当中的分支创建

1.基于master分支创建本身的开发分支,例如xhh_master,master分支更新后,须要把master分支合并到xhh_master;
2.将开发分支xhh_master合并到develop分支;
3.便于解决冲突:在develop分支上新建测试分支xhh_develop,从测试分支拉取远程的develop分支和开发分支xhh_master;
4.将测试分支xhh_develop合并到develop分支;
5.测试过程当中出现修改代码在开发分支xhh_master上更改,推送到远程xhh_master,而后切换到测试分支xhh_develop,拉取开发分支xhh_master的代码,完成后把xhh_develop合并到develop分支;
6.上线前将开发分支xhh_master合并到release或hotfix。class

相关文章
相关标签/搜索