1、Sourcetree简要介绍
Sourcetree 是 Windows 和Mac OS X 下免费的 Git 客户端版本管理工具,Sourcetree拥有一个精美简洁的界面,管理项目方便,可追溯代码编写者及日期,轻松完成项目的代码管理。无需使用git命令,彻底释放双手,提高效率,大大简化了开发者与代码库之间的Git操作方式。
Sourcetree拥有完整的Git功能:
- 通过一个简单的用户界面即可使用所有的Git命令
- 通过一次单击,即可管理所有的Git库,无论是托管的还是本地的
- 通过一次单击,即可进行commit、push、pull、merge等操作
- 通过双击,即可切换分支及版本回滚。
2、下载与安装
先单独安装Git软件可加快Sourcetree的安装
Sourcetree官网地址:Sourcetree | Free Git GUI for Mac and Windows
打开对应安装包
3、Sourcetree使用方法
Local: 本地仓库
Remote:远程仓库
Clone:克隆远程仓库
Add:添加本地已有仓库
Create:创建仓库
3.1 创建仓库
现在有个目录dir需要添加版本管控
//不需要服务器端提交的内容可以写到忽略文件里,比如不跟踪text3.txt
创建 .gitignore文件并添加text3.txt
创建仓库后,出现.git的隐藏目录
3.2 提交
将需要跟踪的文件加入到暂存区,最后点击提交
主分支已记录提交内容
文件出现修改时,sourcetree会跟踪到对应修改位置,如下图
将修改文件放入暂存区并提交,节点更新
3.3 推送
推送至服务器需添加远程仓库
推送前先拉取服务器代码,这边初次建立,因此跳过拉取,3.9节可查看拉取操作
3.4 添加分支
常用分支策略如下:
一般会分为三种分支,分别是主分支(master),开发分支(develop)和修补bug分支(fixbug)。
代码库应该有一个、且仅有一个主分支。所有提供给用户使用的正式版本,都在这个主分支上发布。
主分支只用来分布重大版本,日常开发应该在另一条分支上完成。
3.5 切换分支
新增分支内容修改后,不影响主分支内容,需要从主分支修改内容时,需要切换到主分支
双击master节点即可切换至主分支
主分支内容修改后,可清楚看到2分支内容独立
3.6 合并
当需要将新增分支内容也添加到主分支时,我们需要用到合并分支,
- 切换到主分支
- 选中需要合并的其他分支节点
- 右键选中Merge
3.7 解决冲突
当合并分支提示冲突时,说明这个2个分支中,有文件出现同地方被修改,因此需要开发者自己手动处理这些修改的地方。
上一节的合并中,text1出现了叹号,这是冲突文件的标识。
- 右键选中冲突文件,点击解决冲突,选择主分支(我的),或者其他分支的(其他的),比较复杂的冲突,这边建议直接打开源文件手动修改,比如有些需要主分支,有些需要其他分支,有些都需要。
- 打开源文件,搜索“<<<”能快速找到冲突的地方
- 根据自己功能,对冲突内容进行增删改
- 修改完成后,存入暂存区并提交
3.8 删除分支
当分支合并完成时,且其他分支不需要再使用后,可以将其他无用分支删除
3.9 拉取
多个开发者开发同一项目时,推送前需拉取服务器代码,同步最新内容
3.10 撤回
如果修改了工作区的文件后发现改错了,或者不想要此次的修改
- 选中上一提交节点
- 右键选择Reset(重置)
- 弹窗选择Hard(硬重置) 完全删除此次修改内容,需多次确认再使用,避免误删。
- 文件已恢复至修改前
3.11 回滚版本
选中任一节点双击,所有文件内容都会回到此版本
3.12 克隆
4、常见问题
4.1 中文乱码
Sourcetree界面中的log显示乱码需要按照如下方式配置
- 工具->选项
- 编码选择GB18030
- 在命令行下输入:
- git config --global i18n.logoutputencoding GB18030
- git config --global gui.encoding GB18030
- 重启软件
4.2 推送无分支内容
在sourcetree使用过程中出现推送对话框里面本地、远程分支什么都不显示的问题。
- 工具->选项
- 点击Git标签页
- Git版本依次点击Embedded、Update Embedded(此处下载极慢,耐心等待,失败后重试直到完成)
- 重启软件