SourceTree的简介  

      SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,拥有可视化界面,容易上手操作。同时它也是Mercurial和Subversion(SVN)版本控制系统工具。支持create、commit、clone、push、pull 和merge等操作, sourceTree表面上是git的图形界面工具,其实它的底层还是用的一些git命令 ,可以使用git commit,git update,git push等命令。

 

GIT代码管理平台:

      开源中国上的托管的代码管理平台很好用,适合管理代码,但是对于一些代码保密或者不方便放到公网上的代码来说,还是需要在自己公司的内网搭建一个GIT代码管理平台。
1、Gitolite 该代码平台是基于Linux操作的,一方面搭建起来很麻烦,另一方权限控制起来麻烦,每次新来人员需要将安装GIT之后的pub文件发送给管理员,这样会增加了管理员和git搭建人员的麻烦。
2、Gitblit 是一个纯 Java 库用来管理、查看和处理 Git 资料库.相当于 Git 的 Java 管理工具.git的管家.
一方面它有基于windows的安装版本,安装过程只需下一步即可,很方便。
另一方面他是一个git代码管理平台,统一管理用户,分配权限,同时可以查看版本库的tag和分支情况。

 

SourceTree和Git名称解释

克隆(clone):从远程仓库URL加载创建一个与远程仓库一样的本地仓库

提交(commit):将暂存文件上传到本地仓库(我们在Finder中对本地仓库做修改后一般都得先提交一次,再推送)

检出(checkout):切换不同分支

添加(add):添加文件到缓存区

移除(remove):移除文件至缓存区

贮藏(git stash):保存工作现场

重置(reset):回到最近添加(add)/提交(commit)状态

合并(merge):将多个同名文件合并为一个文件,该文件包含多个同名文件的所有内容,相同内容抵消

抓取(fetch):从远程仓库获取信息并同步至本地仓库

拉取(pull):从远程仓库获取信息并同步至本地仓库,并且自动执行合并(merge)操作,即 pull=fetch+merge

推送(push):将本地仓库同步至远程仓库,一般推送(push)前先拉取(pull)一次,确保一致

分支(branch):创建/修改/删除分枝

标签(tag):给项目增添标签

工作流(Git Flow): 团队工作时,每个人创建属于自己的分枝(branch),确定无误后提交到master分支。

 

SourceTree下载与安装

1、下载地址:https://www.sourcetreeapp.com/,该版本是中文的,下载完成后可以进行安装。

2、下载完毕,双击打开,由于我的电脑缺少.NET Framework 4.7.1,会报错少了.NET Framework 4.7.1,少什么就安装什么就好了。

3、双击打开sourcetree,如图:

4、注意:1使用谷歌帐号登录即可,前提是你必须可以上谷歌才可以。所以在登录谷歌账号之前,需要下载全局FQ工具Shadowsocks并使用FQ工具。

5、不想设置SSH密钥可暂时不弄,点击【否】,然后就可以开始使用sourcetree了。这里有个设置SSH密钥的链接(SSH密钥是在github弄的):https://blog.csdn.net/baidu_30809315/article/details/76687063

就这样sourcetree可以使用了。

 

SourceTree基本使用——克隆

(1)克隆(开发人员需要做的)

点击克隆按钮,克隆项目:
既可以是本地已有的git项目,也可以是远程目录中的项目。

本地存在的git项目,获取项目克隆地址,点击克隆按钮,

1、克隆项目的路径
2、克隆项目存放的位置
3、如果要下载特定的分支,可以按分支进行下载

 

(2)克隆远程仓库到本地(在GitHub上创建远程仓库的情况下)

2.1 复制Url链接

2.2 打开sourceTree, clone至本地仓库

2.3 点击【克隆】,就把远程仓库的项目克隆到本地进行开发了。

 

SourceTree基本使用——创建远程仓库

(3)创建GitHub远程仓库(项目负责人需要做的)。GitHub网址:https://github.com/

下图是我个人的github,以前有上传一些小demo在上面。

1.1 去 github官网注册或者登录github账号。

1.2 初始化一个版本库

1.3点击【NEW resposity】

1.4填写信息,如图,提交。一个简单的版本库就创建完毕了。

SourceTree基本使用——拉取远程仓库

(4)拉取远程仓库。

 

SourceTree基本使用——获取远程仓库

(5)获取远程仓库。

 

SourceTree基本使用——提交本地修改

(6)提交本地修改。

 

SourceTree基本使用——推送代码到远程仓库

(7)推送到远程仓库。

 

SourceTree基本使用——创建、删除、合并分支

(8)创建本地分支和删除分支、合并分支。

 

SourceTree基本使用——丢弃更改

(9)丢弃更改

 

SourceTree基本使用——添加tag

(10)添加tag。打tag的目的是在代码的master分支处有个标记,方便下次修改代码时可以准确的找到想要找的代码。而无需看着日志文件逐一回忆要找的代码位置。

 

SourceTree基本使用——暂存更改

(11)暂存更改。可用来暂存当前正在进行的工作,比如想拉取最新代码,又不想加新提交,或者另外一种情况,为了fix一个紧急的bug,  先贮藏,使返回到自己上一个提交, 改完bug之后再恢复贮藏区, 继续原来的工作。

 

SourceTree基本使用——解决冲突

(12)解决冲突。

第一种方法:git使用<<<<<<<,=======,>>>>>>>标记文件中自己和别人产生冲突的部分。

在<<<<<<<,=======之间为自己的代码;
=======,>>>>>>>之间为别人的代码。

自动合并冲突结束后,进入文件删掉冲突的部分,然后重新提交,推送。

 

第二种方法: Sourcetree中集成Beyond Compare 4,当文件冲突时可以很好的解决冲突。安装过程很简单,这里不再详述。

在sourceTree中配置Beyond Compare 4如下截图:

 

 

SourceTree基本使用——忽略配置文件

(13)忽略配置文件。

利用.gitignore过滤文件,如编译过程中的中间文件等等,这些文件不需要被追踪管理。
.gitignore文件只对还没有加入版本管理的文件起作用,如果之前已经用git把这些文件纳入了版本库,就不起作用了
使用sourcetree添加忽略文件的方法:
正常情况下,管理员创建项目后需要直接将忽略文件创建好。创建方法如图:

 

SVN与GIT的区别

1.GIT是分布式的,SVN不是,这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。
解释:
a GIT跟SVN一样有自己的集中式版本库或服务器。但,GIT更倾向于被使用于分布式模式,也就是每个开发人员从中心版本库/服务器上chect out代码后会在自己的机器上克隆一个自己的版本库。可以这样说,如果你被困在一个不能连接网络的地方时,就像在飞机上,地下室,电梯里等,你仍然能够提交文件,查看历史版本记录,创建项目分支,等。对一些人来说,这好像没多大用处,但当你突然遇到没有网络的环境时,这个将解决你的大麻烦。
b 这种分布式的操作模式对于开源软件社区的开发来说也是个巨大的恩赐,你不必再像以前那样做出补丁包,通过email方式发送出去,你只需要创建一个分支,向项目团队发送一个推请求。这能让你的代码保持最新,而且不会在传输过程中丢失。GitHub.com就是一个这样的优秀案例。


2.GIT把内容按元数据方式存储,而SVN是按文件
所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。如果你把.git目录的体积大小跟.svn比较,你会发现它们差距很大。因为,.git目录是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。

3.分支,该特点是GIT的有一个核心功能;这个功能对开源社区的奉献很大;对项目实际开发意义很大;同一个工作目录下快速的在几个分支间切换。你很容易发现未被合并的分支,你能简单而快捷的合并这些文件。在SVN,分支是一个完整的目录。且这个目录拥有完整的实际文件。如果工作成员想要开啟新的分支,那将会影响“全世界”!每个人都会拥有和你一样的分支。如果你的分支是用来进行破坏工作(安检测试),那将会像传染病一样,你改一个分支,还得让其他人重新切分支重新下载,十分狗血。而 Git,每个工作成员可以任意在自己的本地版本库开啟无限个分支。举例:当我想尝试破坏自己的程序(安检测试),并且想保留这些被修改的文件供日后使用, 我可以开一个分支,做我喜欢的事。完全不需担心妨碍其他工作成员。只要我不合并及提交到主要版本库,没有一个工作成员会被影响。等到我不需要这个分支时, 我只要把它从我的本地版本库删除即可。无痛无痒。


4.GIT没有一个全局的版本号,而SVN有:
目前为止这是跟SVN相比GIT缺少的最大的一个特征。你也知道,SVN的版本号实际是任何一个相应时间的源代码快照。我认为它是从CVS进化到SVN的最大的一个突破。因为GIT和SVN从概念上就不同,我不知道GIT里是什么特征与之对应。

5.GIT的内容完整性要优于SVN:
GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。这里有一个很好的关于GIT内容完整性的讨论 –http://stackoverflow.com/questions/964331/git-file-integrity

 

6.代码库占极少的空间。易于代码的分支化管理。目前支持中文,已经有成熟的图形化管理界面工具,使用难度小。
最后总结一下:
SVN的特点是简单,只是需要一个放代码的地方时用是OK的。

 

小结

使用sourcetree的前提要求:

1、有谷歌账号和密码

2、有GitHub账号和密码,配置SSH密钥

3、有FQ工具,连接外网

4、安装sourcetree和git以及一些需要的插件

 

题外篇:

不需要FQ的一篇链接:https://blog.csdn.net/sinat_38334334/article/details/80665191

 

sourceTree官网的介绍使用链接:

https://confluence.atlassian.com/get-started-with-sourcetree?_ga=2.258073802.1185428370.1532309129-219782296.1532309129

 

设置SSH密钥的链接(SSH密钥是在github弄的):

https://blog.csdn.net/baidu_30809315/article/details/76687063

 

posted @ 2018-12-20 16:14 灵笑若然 阅读(25185) 评论(2) 推荐(0) 编辑
摘要: OSI 七层模型 我们一般使用的网络数据传输由下而上共有七层,分别为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层,也被依次称为 OSI 第一层、第二层、⋯⋯、 第七层。 各层功能简介 1.物理层(Physical Layer) 物理层位于 OSI 参考模型的最低层,它直接面向原始比特流 阅读全文
posted @ 2018-03-08 21:06 灵笑若然 阅读(710) 评论(0) 推荐(0) 编辑
摘要: 测试总结报告模板: 日常型测试报告模版(公布一段时间内测试的进展) 本报告陈述的时间范围:从 到 一、本阶段原计划 陈述原计划在这一阶段要完成的测试工作。 二、实际测试工作进展 1.用例执行情况 模块1 模块2 ... 总计 测试用例总数 100 用例执行数 100 优先级P0 100 优先级P1 阅读全文
posted @ 2023-05-19 10:11 灵笑若然 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 例会记录模板 工作日志模版: 周报模版: 阅读全文
posted @ 2023-05-19 09:54 灵笑若然 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。 在功能测试中,注意的检测重点包括: 界面操作是否符合用户习惯:测试人员要确保软件界面的操作符合用户的使用习惯,如按钮的位置、字体大小、颜色等是否合适,操作是否简单、方便、快捷。 功能是否正常:测试人员要 阅读全文
posted @ 2023-05-18 16:38 灵笑若然 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。 性能测试主要包括5个方面: 预期目标用户测试:预期目标用户测试是指系统在需求分析和设计阶段都会提出一些性能指标,针对这些性能指标测试。 用户并发测试:并发性能测试的过程是一个负载测试和压力测试的过程,即 阅读全文
posted @ 2023-05-18 16:05 灵笑若然 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 容错性测试:列举各个新功能在系统出现异常或网络信号中断等情况下的容错处理能力以及其他相关功能和系统的容错处理能力。例如:手机在无网络信号时的表现 可靠性测试:长时间运行新功能模块,不会带来内存泄漏、处理器被非正常占用或系统不会出现死机、崩溃等情况。 阅读全文
posted @ 2023-05-17 09:44 灵笑若然 阅读(124) 评论(0) 推荐(0) 编辑
摘要: https://blog.csdn.net/jiyuzzz/article/details/124735619 转发 QTP:一款功能自动化测试工具,是专门针对B/S模式的测试工具,是WinRunner的换代产品,该测试工具具有识别能力强、回放精确等优点。 阅读全文
posted @ 2023-05-13 14:36 灵笑若然 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 性能或功能自动化测试的步骤: 制定目标和分析系统(定义好测试模型) 选择测试度量的方法 学习的相关技术和工具 制定评估标准 设计测试用例 运行测试用例 分析测试结果 以下是例子参考: XX项目 服务器端性能测试模型 XX项目 在下列条件下,每台服务器的内存消耗不超过本机的20%,CPU平均值不超过3 阅读全文
posted @ 2023-05-13 14:21 灵笑若然 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 简单来说,数据库就是信息的集合,也就是用于存放数据的库。 1、请解释一下数据库设计中的5个范式? 解答:第一范式:对于表中的每一行,必须且仅仅有唯一的行值。 第二范式:要求非主键列是主键的子集,非主键列活动必须完全依赖整个主键。 第三范式:要求非主键列互不依赖。 第四范式:禁止主键列和非主键列一对多 阅读全文
posted @ 2023-05-12 17:10 灵笑若然 阅读(15) 评论(0) 推荐(0) 编辑
摘要: HTML:是为“网页创建和其他可以在网页浏览器中看到的信息”设计的一种标记语言,用于表现或展示数据。 XML:即可扩展标记语言,用于传送和携带数据信息,不用于表现或展示数据。 XHTML:可扩展超文本标记语言,是HTML的接替者,与HTML类似但更为严格,是一个独立的、与HTML平行发展的标准。 1 阅读全文
posted @ 2023-05-11 10:32 灵笑若然 阅读(15) 评论(0) 推荐(0) 编辑
摘要: VB/VBScript/JavaScript语言考查 VB:VB是第一个“可视”的编程软件,是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序。 VBScript: VBScript是 VB的子集,是一种解释型语言,由微软公司开发,语法类 阅读全文
posted @ 2023-05-10 16:37 灵笑若然 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 设计测试用例如下: 组件相对大小和位置有序、协调、整齐 每组组件的字体、风格保持一致 输入密码时,密码显示不能是明文 如果该窗口可以移动,那么组件随之移动,并且彼此间的相对位置保持不变 如果该窗口可以移动,那么不能移动到一个移不回来的位置 随着字符输入,邮箱地址和密码域文本框不应随之拉长 最大化、最 阅读全文
posted @ 2023-05-09 11:16 灵笑若然 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 安全性测试:指有关验证应用程序的安全等级和识别潜在安全性缺陷的过程。 安全性测试的目的:查找软件自身程序设计中存在的安全隐患,并检查应用程序对非法入侵的防范能力。 例子:对于一个公司内部使用(只有通过内网才能访问,互联网上无法访问)的B/S结构软件,这样的软件不用过于注重安全性问题。 一些常见的软件 阅读全文
posted @ 2023-04-26 16:44 灵笑若然 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 负载测试和压力测试都属于性能测试。 什么是压力测试 顾名思义:压力测试,就是 被测试的系统,在一定的访问压力下,看程序运行是否稳定/服务器运行是否稳定(资源占用情况) 比如: 2000个用户同时到一个购物网站购物,这些用户打开页面的速度是否会变慢,或者网站是否会奔溃 做压力测试的常用工具 做压力测试 阅读全文
posted @ 2023-04-26 11:30 灵笑若然 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 定义 功能测试就是对产品的各功能进行验证,按照产品需求规格说明书的要求,一一检查软件产品,看软件产品是否正确实现了应有的功能。 在功能测试中,注意的检测重点包括: 界面操作是否符合用户习惯:测试人员要确保软件界面的操作符合用户的使用习惯,如按钮的位置、字体大小、颜色等是否合适,操作是否简单、方便、快 阅读全文
posted @ 2023-04-26 11:20 灵笑若然 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 什么是回归测试? 解答:回归测试就是对软件产品的基线版本的改变所做的测试。 为什么要做回归测试? 解答: 验证开发人员所承诺修复的软件缺陷是否已被正确修复; 验证新的软件修改是否影响了原有稳定模块的正确性和稳定性; 验证新的软件修改是否引入了新的缺陷; 验证新的软件版本是否可以归档,从而成为新的基线 阅读全文
posted @ 2023-04-25 16:31 灵笑若然 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 冒烟测试: 每个软件版本开发建立后,由测试部门或集成部门对系统的主要基本功能进行简单的测试,这种测试强调功能的覆盖率,而不侧重验证功能的正确性。 在冒烟测试中注意: (1)只覆盖主要功能 (2)易用性 (3)配置管理 (4)测试脚本要独立 (5)测试脚本要简单 (6)测试结果比对 1、冒烟测试用手工 阅读全文
posted @ 2023-04-25 16:30 灵笑若然 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 移动端版本更新升级是一个比较重要的功能点,主要分为强制更新和非强制更新。 1.强制更新需要测试的点有: 1)强制升级是否可以升级成功 从老版本的包升级到新版版的包是否可以升级成功。 2)升级后的数据是否正常 查看老账户升级后是否可以正常使用 查看老账户升级后的老数据是否丢失或异常 检查新功能替换老功 阅读全文
posted @ 2023-04-25 16:19 灵笑若然 阅读(588) 评论(0) 推荐(0) 编辑
摘要: 1、数值型输入框: 条件:demcial(x,y) ,界面显示小数点到y位 通常要检查以下几点: (1)边界值:最大值、最小值、最大值+1、最小值-1 (2)位数:最小位数、最大位数、最小位数-1最大位数+1、输入超长数值、输入整数(负整数、正整数、0) (3)空格检查:中文空格、英文空格、输入空白 阅读全文
posted @ 2023-04-25 16:17 灵笑若然 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 很久没更新博客,以前每次学习接口测试都是百度,查看相关人员的实战经验,没有结合自己公司项目接口真正具体情况。 这里简单分享一下公司项目web平台的一个查询接口。我会使用2种工具Postman和Jmeter如何对同一个接口做调试。 首先,登录公司平台,通过谷歌浏览器右键—更多工具—开发者工具查看请求接 阅读全文
posted @ 2020-12-24 16:05 灵笑若然 阅读(665) 评论(4) 推荐(0) 编辑
摘要: 1.打开chrome 输入 “chrome://version/”来查看chrome版本 2.访问此网站 http://chromedriver.storage.googleapis.com/index.html 然后选择合适版本的driver。点击notes.txt就可查看其对应的版本号 3.把c 阅读全文
posted @ 2020-11-06 10:05 灵笑若然 阅读(948) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示