目录
一、SourceTree 概述
二、SourceTree 使用方法
1. 克隆 Git 仓库至本地
2. 推送本地的文件至远程仓库
3. 创建/切换/合并分支
4. 版本回退
SourceTree 是一款免费的 Git 和 Hg 客户端管理工具,支持 Git 项目的创建、克隆、提交、push、pull 和合并等操作。它拥有一个精美简洁的界面,大大简化了开发者与代码库之间的 Git 操作方式,这对于不熟悉 Git 命令的开发者来说非常实用。
SourceTree拥有完整的Git功能:
通过一个简单的用户界面即可使用所有的Git命令
通过一次单击,即可管理所有的Git库,无论是托管的还是本地的
通过一次单击,即可进行commit、push、pull、merge等操作
一些先进的功能,如补丁处理、rebase、shelve、cherry picking等
可以连接到你托管在Bitbucket、Stash、Microsoft TFS或GitHub中的代码库
SourceTree 初始界面如下;
接下来我将使用 sourceTree 结合 Gitee 操作来演示 Source Tree 的使用方法。先在 Gitee 创建一个云端的 GIt 仓库;
在 Source Tree 中点击“文件” --> “克隆/新建”,将 Gitee 上的仓库 克隆至本地;复制仓库地址后会自动生成本地地址与名称,我们可以自己修改;
克隆成功后如下:
本地的仓库目录;
我们在本地仓库目录中新建一个文件;
此时 Source Tree 就会自动检测到该新建文件以及它的状态;
接下来我们就可以根据需要选中文件进行暂存或者全部暂存了,相当于使用命令 git add。文件暂存后自动进入已暂存区域;
提交暂存区的文件,同样选中文件,输入备注后点击“提交”,相当于命令 git commit;
要注意点击“提交”后只是将文件暂存,还需点击“推送”按钮,才算是推送成功。
如果想要点击提交后直接推送,选中底部的“立即推送变更到...”即可;
此时去 Gitee 查看,远程仓库已经更新文件;
创建分支
在初始阶段只有一个分支 master,想要新建分支点击“分支”按钮进行创建即可;
如下创建新分支 tom 后,分支列表就会有两个分支且自动切换到了新分支;
我们在新分支 tom 下新建一个文件 2.txt,同样是进入本地仓库目录创建;
将新文件 2.txt 推送至远程仓库 tom 分支,切换至 tom 分支,可以看到有两个文件;
切换分支
分支的切换只需双击分支名,如下 master 分支中只有一个文件,tom 分支中有两个文件(双击切换分支后本地目录会自动更新,无需操作);
接下来我们再新建一个分支 Bob 并提交新文件 3.txt;
此时在 Bob 分支中有 1.txt 和 3.txt 文件,而分支 tom 不会受到任何影响;
至此,即使再创建多个分支(注意回到master下创建),它们都不会影响到 master 分支,且互相之间也不会有任何影响。
合并分支
当某一开发者所属的模块开发完成之后,需要将代码进行合并,也就是合并分支。如下在 tom 分支中,点击“合并”按钮,选择要合并到当前的分支。如下我们选择 Bob 分支,便会将 Bob 分支合并到 tom 分支中。
注意选择“确定”之后必须点击推送才能完成分支的合并;
合并后 tom 分支中也有了 Bob 分支的 3.txt 文件;
分支间关系的变化图谱也会有很明了的表示;
有时候在经过一些提交操作后项目中可能会出现一些问题,这个时候我们就需要将项目回退到之前的某一版本,这就是版本回退。
刚刚我们将 Bob 分支合并到了 tom 分支中,假设 Bob 的代码有漏洞我们需要回退到合并之前;
选中要回到的版本,右键 --> “重置当前分支到此次提交”(建议使用强行合并);
确定之后再次选中要回到的版本右键 --> “回滚提交”;
回滚后可以看到图谱已有相应变化,且最新版本描述信息为 “Revert(回退)到 ‘bob分支提交的文件’ ” 也就是上文标注的合并前;
此时会看到拉取和推送都有了新提示,这是因为我们在本地进行了版本回退,导致本地仓库与远程仓库的文件不一致,所以我们应该先拉取,保证本地与远程仓库一致后再进行推送;
至此,版本回退完成,再查看各个分支下的文件,与未提交前状态一致;