您的位置:起点软件下载编程工具SourceTree

SourceTree中文版下载 3.0.17 windows版

软件大小:24064KB

用户评分:

软件类型:国产软件

运行环境:Win All

软件语言:简体中文

软件分类:编程工具

更新时间:2019/2/18 13:11:13

授权方式:免费软件

插件情况:无 插 件

SourceTree Windows版是一款拥有可视化界面的项目版本控制软件,适用于git项目管理。SourceTree拥有丰富强大的功能,它能够为开发人员简化了与代码库之间的Git操作方式,采用更加便利的书签模式对代码库进行管理,性能大幅度提升,支持 Pixel-perfect per-monitor DPI,方便你进行创建、克隆、提交、push、pull和合并等操作。

SourceTree下载

【基本介绍】

SourceTree是WinDows和MACOS X下免费的 GIT 和 HG 客户端,拥有可视化界面的项目版本控制软件,适用于git项目管理,上手操作非常简单。同时SourceTree也是 MerCurial 和 SuBverSion 版本控制系统工具。SourceTree支持创建、提交、Clone、Push、Pull 和Merge等操作。
SourceTree拥有一个精美简洁的界面,大大简化了开发者与代码库之间的Git操作方式,这对于那些不熟悉Git命令的开发者来说非常实用。通过一个简单的用户界面即可使用所有的Git命令,管理所有的Git库,无论是托管的还是本地的。

【软件功能】

【1】通过一个简单的用户界面即可使用所有的Git命令;
【2】通过一次单击,即可管理所有的Git库,无论是托管的还是本地的;
【3】通过一次单击,即可进行commit、push、pull、merge等操作;
【4】一些先进的功能,如补丁处理、rebase、shelve、cherry picking等;
【5】可以连接到你托管在Bitbucket、Stash、Microsoft TFS或GitHub中的代码库。

【软件特点】

1、新的Git状态
不要错过任何东西。 留在您的工作之上,并与您的代码一目了然。
2、可视化您的进度
详细的分支图表可以轻松跟上团队的进度。
3、Git for Windows&Mac
在两个比较流行的操作系统上运行Git和Mercurial的强大功能。
4、得到Git的权利
通过全面的教程来学习Git,包括分支,合并等等。

【软件亮点】

1、新手的完美选择
简化团队的DVCS操作,可以执行提交、推送、获取、合并分支等操作,按照书签的方式管理代码库,并提供日志视图。
2、对老手也足够强大
为高级开发人员带来更大的便利,你可以根据变更集和cherry-pick进行评审
3、完全支持DVCS
SourceTree官方版简化了你与Git和Hg库的交互方式,可以通过直观、简洁、干净、友好的客户端管理本地的和远程的代码仓库。
4、开箱即用的Git和Hg流程
方便的使用Git流和Hg流。保持代码库的整洁,使开发过程变得更有效率。

【名词解释】

克隆(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分枝
终端(terminal):可以输入git命令行

【安装教程】

windows10 安装sourcetree版本管理工具
下载sourcetree软件安装包,双击打开,如下图

新版sourcetree软件的安装需要先注册一个账号

如果已经有账号了,就直接登陆,如下图

绑定远程git账号,如果没有,就跳过

为sourcetree软件指定git软件的安装位置


安装成功后,就能克隆仓库使用了

【跳过注册】

sourcetree 跳过注册方法
首先,安装完 SourceTree 以后先运行一次,弹出初始化登录页面后退出。
打开 我的电脑,在最上方的地址栏直接输入以下地址:

如图:

在这个目录下新建一个名为 accounts.json 的文件。
使用 文本文档 打开这个文件,将以下内容复制到其中后保存。
[
{
"$id": "1",
"$type": "SourceTree.Api.Host.Identity.Model.IdentityAccount, SourceTree.Api.Host.Identity",
"Authenticate": true,
"HostInstance": {
"$id": "2",
"$type": "SourceTree.Host.Atlassianaccount.AtlassianAccountInstance, SourceTree.Host.AtlassianAccount",
"Host": {
"$id": "3",
"$type": "SourceTree.Host.Atlassianaccount.AtlassianAccountHost, SourceTree.Host.AtlassianAccount",
"Id": "atlassian account"
},
"BaseUrl": "https://id.atlassian.com/"
},
"Credentials": {
"$id": "4",
"$type": "SourceTree.Model.BasicAuthCredentials, SourceTree.Api.Account",
"Username": "",
"Email": null
},
"IsDefault": false
}
]


再次打开 SourceTree 就可以直接跳过登录进入软件页面了。
注意: Windows 系统文件后缀是默认隐藏的,需要先显示文件的后缀名,然后随便新建一个 文本文档 ,将文件全名改为 accounts.json 即可。

显示文件后缀名的方法:
打开 我的电脑 ,点击 查看 菜单中的 选项 。

弹出 文件夹选项 ,将 隐藏已知文件类型的扩展名 选项取消选中后点击 确定 即可。

【使用教程】

SourceTree获取项目代码教程
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进行冲突修改,再进行后续操作

【使用技巧】

sourcetree怎么解决冲突
解决冲突就要先制造冲突,冲突一般是由于两个人同时修改同一文件而造成的。在GitHub上修改远程仓库文件模拟一个人操作,sourceTree本地修改同一文件模拟另一个人操作。
登录GitHub ,打开GitTest,编辑test1.txt文件

在文件末尾增加 内容 code conclick1,点击提交。如下图所示。


打开本地工作副本的test1.txt文件,新增内容code conclick2,如下图:

打开sourceTree,可以看到本地工作副本有个待提交记录。

推送代码。这个时候你修改完了本地的功能,并不知道远程仓库上也有人提交了该文件的修改。直接推送本地修改,推送本地工作副本到远程仓库,运行完成后会报错,大概是提示本地仓库和远程仓库版本不一致,无法提交,但是本地工作副本的修改却是已经提交到了本地仓库。如下图。


既然提示 和远程仓库版本不一致,无法推送,那只能先拉成一致了。点击拉取图标,等执行完,就会出现下图所示。有一个待拉取的图标和一个待推送的图标,并且test1.txt文件的图标变成了黄色的感叹号。这个时候文件的冲突就造成了。

冲突文件会把两者的修改以冲突的方式合在一个文件里,等待使用者去处理。那么基本的处理思想是:要么使用其中某一个人的,要么使用两者的组合。
冲突的解决需要一个外部代码对比工具,我这里使用的是Beyond Compare 4,大家可以自己百度下载安装,然后集成到sourceTree软件中。如下图。在外部对比工具中找到Beyond Compare 4的可执行程序,点击确定。

下面开始使用代码对比工具解决冲突,选中待解决冲突的代码,右键 解决冲突,打开外部合并工具。

等待一会,Beyond Compare 4就会被打开。第一块是本地修改的版本,第二块是冲突两者(本地仓库和远程仓库)相同的版本基准,第三块是 远程仓库的修改。第四块是冲突处理后的代码。

本次解决冲突是为了合并两者的修改,所以我会把第一块和第三块所做的修改按照正确的逻辑顺序,合到第四块。如下图,点击保存。关闭该对比软件。

切到sourceTree界面,可以看到多了一个解决冲突的中间文件,由于冲突已解决,直接右键移除,

可以看到冲突已解决,代码已正确合并。推送该合并。

这样冲突就被解决了,可以看到本地工作副本和远程仓库的代码都是一致的了。

【使用说明】

使用中若出现提示:
“ssh-agent...System.NullReferenceException”异常,请将Git升级到2.6版后再试一试。
出现此问题是此版本的一个bug,官方正在修复中。