文档章节

SourceTree代码管理

o
 osc_isezqdgg
发布于 2019/09/18 17:03
字数 1422
阅读 0
收藏 0
git

精选30+云产品,助力企业轻松上云!>>>

SourceTree下载:https://www.sourcetreeapp.com/

SourceTree:

  • 拥有可视化界面的项目版本控制软件,适用于git项目管理
  • window、mac可用

1. 点击克隆/新建

 

2. 在弹出框中输入项目地址,http或者ssh地址

如果箭头指向的仓库类型表明“这不是一个标准的Git仓库”,可能是有以下原因:

  • 项目地址获取错误
  • 没有项目访问权限

3. 点击“克隆”,等待项目克隆完成,完成后,左侧只有一个分支master

克隆完成后,得到的是发布后的master源码,如果想要获取最新的正在开发中的源码,需要对项目流进行初始化,点击“Git工作流”

直接点“确定”,获取develop分支源码

开发任务都是在develop分支上完成的

4. 分支共有5种类型

  • master,最终发布版本,整个项目中有且只有一个
  • develop,项目的开发分支,原则上项目中有且只有一个
  • feature,功能分支,用于开发一个新的功能
  • release,预发布版本,介于develop和master之间的一个版本,主要用于测试
  • hotfix,修复补丁,用于修复master上的bug,直接作用于master

5. 开发中需要增加一个新的功能时,可新建feature分支,用于增加新功能,并且不影响开发中的develop源码,当新功能增加完成后,完成feature分支,将新功能合并到develop中,更新develop上的代码

新建feature  当前开发分支指向develop,点击“Git工作流”

选择“建立新的分支”

在预览中可看到,feature分支是从develop分出的,输入功能名称,点击确定,项目结构中增加feature分支,并且当前开发分支指向新建的feature分支

在F_add_feature分支下进行开发任务,并提交

以上操作分别增加了feature_1、feature_2、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进行冲突修改,再进行后续操作

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
[SourceTree]--记录Win10 安装SourceTree免注册登陆

记录SourceTree一次安装不成功的过程及解决办法 SourceTree简介 按照官网介绍:SourceTree是一款用于Windows和Mac的免费Git客户端。简化了用户与Git存储(仓)库的交互,可以让用户专注于编写...

osc_42ssirsd
2019/03/08
43
0
Sourcetree 集成 Azure DevOps Server(Git)

概述- SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端管理工具,同时也是Mercurial和Subversion版本控制系统工具。支持创建、克隆、提交、push、pull 和合并等操作。 SourceTr...

osc_3n35hvex
2019/05/22
15
0
SourceTree 一.安装

SourceTree,是mac上的git工具,现在有windows版了,而且安装了下是中文的,由于以前没用过git的代码库管理,因此随便学习了下 以下是步骤: 1.从http://www.sourcetreeapp.com 下载SourceT...

wj2014
2014/06/11
641
0
SourceTree安装

SourceTree安装教程   作为程序员,不可避免的要在github上查询代码,而在企业项目中,为了使得项目好管理需要使用项目管理客户端,所以接下来详细讲解一下基于git的sourceTree在windows系...

osc_11o9alwl
2019/11/12
14
0
github/GitLab (Git)管理神器SourceTree

GitLab或GitHub上使用sourcetree推送和拉取代码,翻墙并注册sourcetree。 github管理神器SourceTree,翻墙主要获取Google的验证码,其他大陆都可以连接上. smartGit,图形化工具。 > 使用蓝灯...

desaco
2018/09/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

521我发誓读完本文,再也不会担心Spring配置类问题了

当大潮退去,才知道谁在裸泳。关注公众号【BAT的乌托邦】开启专栏式学习,拒绝浅尝辄止。本文 https://www.yourbatman.cn 已收录,里面一并有Spring技术栈、MyBatis、中间件等小而美的专栏供...

osc_72k9vb4y
7分钟前
0
0
微服务思考(01):什么是微服务?微服务的优势和劣势

一、单体应用 在软件开发早期阶段,大家都在一个应用系统上开发。各个业务模块之间耦合也比较紧密。软件发布也是整体发布,或者对软件进行打包发布和部署,比如java可以打包成war部署。测试也...

osc_bcvwusz2
8分钟前
0
0
Halcon一维测量1D Measuring解析

一维测量(也叫一维计量或卡尺)的概念非常直观。沿着一个预定的区域(主要是垂直于RIO感兴趣区域的方向) 边缘的位置。这里的边缘为从暗到亮或从亮到暗的过渡。 基于提取的边缘,可以测量零件...

osc_xs2d5ls9
9分钟前
0
0
U盘+grub2安装centos8实战

1. U盘准备 这里的U盘也可以换成硬盘 grub2安装一直失败,怀疑U盘坏了,下面命令修复了一下 [root@host2 ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda ...

osc_43xj61td
10分钟前
0
0
遇见SQL(2)

SQL自学笔记 约束 1.0概念及分类 2.0非空约束 3.0 唯一约束 4.0 主键约束 自动增长 5.0 外键约束 级联操作 多表关系 三种情况概述 数据库的备份和还原 多表查询 1.0 内连接查询 隐式内连...

osc_4eht81t7
11分钟前
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部