SourceTree下载:https://www.sourcetreeapp.com/git
SourceTree:app
1. 点击克隆/新建ssh
2. 在弹出框中输入项目地址,http或者ssh地址测试
若是箭头指向的仓库类型代表“这不是一个标准的Git仓库”,多是有如下缘由:3d
3. 点击“克隆”,等待项目克隆完成,完成后,左侧只有一个分支master版本控制
克隆完成后,获得的是发布后的master源码,若是想要获取最新的正在开发中的源码,须要对项目流进行初始化,点击“Git工做流”blog
直接点“肯定”,获取develop分支源码项目管理
开发任务都是在develop分支上完成的开发
4. 分支共有5种类型get
5. 开发中须要增长一个新的功能时,可新建feature分支,用于增长新功能,而且不影响开发中的develop源码,当新功能增长完成后,完成feature分支,将新功能合并到develop中,更新develop上的代码
新建feature 当前开发分支指向develop,点击“Git工做流”
选择“创建新的分支”
在预览中可看到,feature分支是从develop分出的,输入功能名称,点击肯定,项目结构中增长feature分支,而且当前开发分支指向新建的feature分支
在F_add_feature分支下进行开发任务,并提交
以上操做分别增长了feature_一、feature_二、feature_3文件,共提交3次,现项目文件夹下共三个文件
当切换为develop分支后,会发现,在develop下并无新增的三个文件,说明在feature下进行操做,并不影响develop分支源码
完成feature开发后,将feature中的源码合并到develop分支。将当前分支指向F_add_feature分支,点击“Git工做流”,选择“完成功能”
预览中,代表feature分支将合并到develop,点击肯定,进行提交合并,合并成功后
须要再增长新的功能时,重复以上操做便可
当多人协做开发时,可能会出现,不一样人员对同一文件进行操做,从而引发合并冲突,对这种状况进行模拟,在当前新建两个feature,分别对feature_1文件进行修改,而后分别合并
feature_1在feature_1.txt下作以下操做
feature_2在feature_1.txt下作以下操做
前后合并F_feature_1和F_feature_2,会出现冲突
点击close,查看未提交的更改,提示feature_1.txt出现冲突,
打开feature_1.txt
出现<<<<<<< HEAD、=======、>>>>>>> feature/F_feature_2,HEAD和=号之间表示当前分支下的代码,=号和>>>>>>> feature/F_feature_2之间表示要合并的分支下的代码,>>>>>>> feature/F_feature_2表示了要合并的分支的分支名称,
根据状况区分要保留的代码,要删除的代码,最后再删除<<<<<<< HEAD、=======、和>>>>>>> feature/F_feature_2
将修改的代码再进行一次提交
一旦出现feature合并冲突,要合并的feature分支不会被删除,如F_feature_2,确保合并无问题后,可手动删除F_feature_2
6. 当开发到必定阶段,能够发布测试版本时,能够从develop分支,创建release分支,进入预发布测试阶段。点击“Git工做流”,选择“创建新的发布版本”
预览中能够看到,release是从develop分出的,输入发布版本名‘R_v1.0’,点击肯定
R_v1.0为阶段性发布版本,主要用于发布前进行测试,后续的开发工做仍旧在develop上进行,若是在测试过程当中发现问题,直接在release上进行修改,修改完成后进行提交
7. 对release分支R_v1.0进行两次修改后,测试完成,能够进行正式发布,在当前分支指向R_v1.0分支下,点击“Git工做流”,选择“完成发布版本”
在预览中能够看到,R_v1.0向develop和master分别合并,点击肯定,完成正式发布。
完成合并后,默认指向develop为当前分支,master增长多个版本更新,将master分支推送到origin,完成线上发布
8. 正式版本发布后,develop可继续进行后续开发,当正式版本出现问题时,须要进行问题的修改,能够在master分支创建修改补丁hotfix。将当前分支切换到master,点击“Git工做流”,选择“创建新的修复补丁”
预览中hotfix分支是从master拉去出来的,输入修复补丁名,点肯定
在该分支下进行master的问题修改,修改完成后进行提交。当全部补丁问题修改完成后,点击“Git工做流”,选择“完成修复补丁”
预览中,H_fix_1向master和develop分别合并,点击肯定,完成分支合并。
合并完成后,默认当前分支为develop,master分支有版本须要更新,当前分支切换为master,进行推送,完成补丁修复。
9. 在完成发布版本和完成修复补丁时,若是遇到冲突,可仿照上述5进行冲突修改,再进行后续操做