1. SourceTree是什么

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

2. 获取项目代码

1. 点击克隆/新建

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

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

1) 项目地址获取错误

2) 没有项目访问权限

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

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

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

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

4. 分支共有5种类型

1) master,最终发布版本,整个项目中有且只有一个

2) develop,项目的开发分支,原则上项目中有且只有一个

3) feature,功能分支,用于开发一个新的功能

4) release,预发布版本,介于develop和master之间的一个版本,主要用于测试

5) hotfix,修复补丁,用于修复master上的bug,直接作用于master

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

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

选择“建立新的分支”

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

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

以上操作分别增加了feature_1、feature_2、feature_3文件,共提交3次,现项目文件夹下共三个文件

当切换为develop分支后,会发现,在develop下并没有新增的三个文件,说明在feature下进行操作,并不影响develop分支源码

3) 完成feature开发后,将feature中的源码合并到develop分支。将当前分支指向F_add_feature分支,点击“Git工作流”,选择“完成功能”

预览中,表明feature分支将合并到develop,点击确定,进行提交合并,合并成功后

4) 需要再增加新的功能时,重复以上操作即可

5) 当多人协作开发时,可能会出现,不同人员对同一文件进行操作,从而引起合并冲突,对这种情况进行模拟,在当前新建两个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进行冲突修改,再进行后续操作

原文:https://www.cnblogs.com/tian-xie/p/6264104.html

sourcetree合并分支_不会git命令,没关系啊,还有强大的图形界面工具SourceTree相关推荐

  1. git 删除分支_深入浅出图解Git,入门到精通(保姆级教程)

    原文链接:https://mp.weixin.qq.com/s/_G3l9urASsFjyrYAZBWhDg 分支管理 Git中比较最重要的一点就是分支的概念,有了分支就有了合并和衍合的操作,「合并」 ...

  2. ssh开启图形界面_分享|3 个 Linux 上的 SSH 图形界面工具

    了解一下这三个用于 Linux 上的 SSH 图形界面工具. 在你担任 Linux 管理员的职业生涯中,你会使用 Secure Shell(SSH)远程连接到 Linux 服务器或桌面.可能你曾经在某 ...

  3. git合并分支的时候将某个文件添加到忽略列表_常用的 Git 命令

    分支操作: git branch 创建分支 git branch -b 创建并切换到新建的分支上 git checkout 切换分支 git branch 查看分支列表 git branch -v 查 ...

  4. idea集成git合并分支_持续集成:合并故事

    idea集成git合并分支 六个月项目如何成为Vaporware的真实故事 北美游戏" 永远的毁灭公爵"的封面艺术. 经过15年的发展,它于2011年发布,这是Vaporware的 ...

  5. git 查看分支_系统掌握Git之—探索.git

    文章概述 上文中,我们聊了聊git的配置与一些基本概念,今天来看看.git文件夹里面有什么内容.通过阅读本文,你将获得下面的知识: .git的内部信息. git的分支操作. 图形化git工具. 新建分 ...

  6. git branch看不到分支_最好的Git分支管理教程

    Git最难学习的就是Git的多分支问题,不同操作会对当前分支造成什么影响,比如相同初始状态,类似操作,rebase和merge的不同结果. rebase(左),merge(右) 教程简介 推荐一个非常 ...

  7. Pycharm git-创建本地仓库\创建分支\合并分支\回溯版本\加入git后文件颜色代表的含义

    Pycharm git-创建本地仓库\合并版本\回溯版本 创建本地仓库 提交我们的第一个版本 修改并提交第二个版本 创建分支 合并分支 回溯版本 总结 文件名颜色代表的含义 使用的pycharm社区版 ...

  8. sourcetree合并分支

    2017-2019年计算机视觉顶会文章收录 AAAI2017-2019 CVPR2017-2019 ECCV2018 ICCV2017-2019 ICLR2017-2019 NIPS2017-2019 ...

  9. git 命令详解和Android Studio代码管理工具

    目录 前言 git命令上传项目 一.核心操作 二.解决冲突 三.情景举例 四.查看ssh密钥 五.克隆远程项目 六.回退某个操作 七.和远程分支建立关联 八.删除文件 九.远程仓储 十.多人协作 十一 ...

  10. 代码管理工具GIT之图形界面工具TortoiseGit

    一.程序员为什么要学习和使用GIT呢?  1.当一个项目需要由众多开发人员协同开发时,很难保证相互的代码之间不发生冲突.使用git,可以良好的进行模块代码合并,从而组成一个项目.非常适合团队进行敏捷开 ...

最新文章

  1. isdigit函数在C语言什么意思,C 库函数 isdigit() 使用方法及示例
  2. 【Android View绘制之旅】Layout过程
  3. 给Jquery easyui 的datagrid 每行增加操作链接(转载)
  4. 有关scanf输入的问题
  5. 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第1节 异常_8_Throwable类中3个异常处理的方法...
  6. DLL入门浅析(5)——使用DLL在进程间共享数据
  7. (十七)WebGIS中距离及面积测量的原理和实现以及坐标转换的简单介绍
  8. Java常见面试题之类的加载过程
  9. 作者:陈康(1976-),男,博士,清华大学计算机科学与技术系、深圳清华大学研究院、浙江清华长三角研究院鄞州创新中心副教授...
  10. 职场沟通能力,不是人人都有
  11. C语言刷抖音源码,iOS多种刷新样式、音乐播放器、仿抖音视频、旅游App等源码...
  12. java可选项_在Java中链接可选项8
  13. HDU1753 大明A+B【大数】
  14. 2017c语言国二试题,国家计算机c语言二级考试试题
  15. 这 9 个 Java 开源项目 yyds
  16. 哆啦A梦的神奇口袋 - 这全是宝藏
  17. java取石子_取石子游戏 - Snowdream - BlogJava
  18. oracle 审计 分区表,oracle分区表的分类及测试
  19. 信息系统安全防范策略
  20. Linux下的共享内存 ---创建共享内存

热门文章

  1. centos6.9下rpm方式安装mysql后mysql服务无法启动
  2. hadoop记录-flink测试
  3. 逆向libbaiduprotect(二)
  4. c# 程序调试出现“未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。”...
  5. 天啊~ 少些一个等号的后果
  6. 【UI插件】开发一个简单日历插件(上)
  7. 通过Windows Live Writer发布日志到各大博客
  8. 【NLP新闻-2013.06.16】Representative Reviewing
  9. Windows 8实用窍门系列:1.使用Xaml+C#开发第一个Metro Style应用程序
  10. 【Asp.Net从零开始】:使用缓存来提高网站性能 Caching(一)