【保姆级喂饭教程】Git图形化客户端Sourcetree安装及使用教程

目录

前言

在查找Git Flow实现工具的时候,看到了SourceTree,支持Git Flow、GitHub Flow等多种Git工作流,安装简单学习一下。

一、SourceTree简介

Git的GUI客户端有很多,SourceTree是其中比较优秀和流行的一个,如下图:
https://git-scm.com/downloads/guis

SourceTree是一款免费的Git图形化客户端,它由Atlassian开发,提供了跨平台的支持,可运行在Windows和Mac操作系统上。Sourcetree可以让开发者更方便地使用Git来管理代码,不需要在命令行中输入复杂的Git命令,而是通过可视化的界面完成代码管理操作。

SourceTree 是 Windows 和Mac OS X 下免费的 GitHg 客户端,拥有可视化界面,容易上手操作。同时它也是MercurialSubversion版本控制系统工具。支持创建、提交、clone、push、pull 和merge等操作。最主要是它,支持中文、支持中文、支持中文。

SourceTree支持多种Git工作流,例如Git FlowGitHub Flow等,可以帮助开发者更好地管理Git分支、合并代码、提交代码等操作。此外,SourceTree还集成了一些实用的功能,例如自动提交、撤销提交、文件比较、文件历史记录等,方便开发者进行代码管理和版本控制。

最近一次更新是在25年3月


二、安装教程

打开官网下载Sourcetreehttps://sourcetreeapp.com/

点击同意隐私政策,之后选择文件夹进行下载

csdn下载链接:SourceTreeSetup-3.4.23.exe

双击安装

第一步创建账号,点击跳过

SourceTree会自动找到已安装的Git,如果之前没有安装,Git会和Mercurial一样是勾选状态,之后SourceTree会帮我们安装,推荐先自己安装,可以更自由的安装和设置。

暂时不需要Mercurial,取消它前面的勾选框,点击下一步

配置git账号,由于安装git的时候已经设置了,这里会自动读取,点击下一步

选择是否创建SSH密钥,平常基本都是用http,这里选择否

这样就安装完成了,除了几个git相关的命令基本都是汉化的,十分容易上手


三、使用教程

Sourcetree界面十分的简洁,先是Local(本地仓库)Remote(远程仓库)管理,后面是最基本的Clone(克隆仓库)Add(添加仓库)Create(创建仓库)操作,下面依次展示一下

1. Local(本地仓库)

  • 管理目录

点击下方的文件夹,创建一个仓库管理目录,仓库在管理目录之间移动并不会改变实际git仓库的位置

这里的目录名称不支持中文输入,可以在别的地方打字粘贴过来

  • 拖动添加仓库

此处可以通过拖动文件夹的方式添加项目,但是只能拖动到如图所示的窄横区域,也不知道是什么设计思路

之后就可以拖动到想存放的管理目录了

  • 删除仓库

右键项目选择删除

SourceTree中把项目仓库叫做书签,删除项目要选择删除书签,确认删除本地项目,推荐从文件夹中去删除,避免造成误删除

  • 打开仓库链接

选中一个仓库,下面的View Remote会打开远程的git地址,如gitlab的仓库地址,在终端中打开会从项目根目录打开git bash

2. Remote(远程仓库)

  • 编辑账户

点击编辑账户,可以看到之前git存储的账号,原来显示的是仓库的ip地址,点开以后有个设为默认,点击看看

点击是

应该没什么用,ip地址前面填充了Git:http://

  • 添加账户

点击添加账户,在托管服务器下拉列表找到GitLab CE,输入gitlab仓库地址

点击刷新个人认证,填写用户名和密码,然后一路确定

可惜我这里一直认证失败...

3. Clone(克隆仓库)

克隆之前先改一下默认仓库位置,点击 工具-选项

找到项目目录配置,选择仓库根目录,点击确定

在gitlab上找一个以前的小项目,复制http克隆链接

粘贴到源路径/URL的位置,下方会自动填充实际路径和项目名称,浏览可以再次修改存储位置

鼠标点击源路径外任意位置,会跳出认证管理,填入git账户密码,点击确定

账户正确后会检测出仓库类型:这是一个Git仓库,Local Folder是前面提到的管理目录,这里选一个之前创建的二级目录测试项目,点开高级选项看到提供了检出分支的选项,这里不管,直接克隆

整体界面如下,还是十分的全面,更详细的使用教程之后有时间再补充。

4. Add(添加仓库)

点击Add,点击浏览选择一个已经创建了git仓库的项目,点击添加

还是之前的效果

5. Create(创建仓库)

点击浏览选择一个项目文件夹,点击创建

点击是

里面放了一个之前创建的空Java文件

6. Git Flow

使用SourceTree一大原因是因为它支持Git Flow工作流,让我们来测试一下

  • 创建master分支

点击文件后面的加号,相当于git add

填写信息,点击提交,相当于git commit

第一次提交后就创建了master分支

  • 创建git flow工作流

点击右上角的Git工作流,各分支前缀都选择默认,版本前缀添加v,点击确定

初始化中

初始化后基于master创建了一个develop分支

  • 创建功能分支

再次点击Git工作流,弹出git flow支持的分支选择窗口,这里我们测试一个功能分支

我习惯分支名称为开发人员姓名-模块-功能,这里就是开发一个公共模块的配置功能,下面的预览会显示即将创建的分支全称:feature/dev1-common-config,点击确定

结果如下,分支结构很好看

  • 开发功能分支

打开测试文件填上aaa

添加文件

输入信息并提交

现在功能分支到了最前面了

  • 结束功能分支
    假设我们的功能分支已经开发完成了,按照git flow规范,需要合并后删除分支,点击Git工作流,会根据你当前的分支推荐操作,当然,也可以点击其他操作,同步创建别的类型分支

    点击完成功能后,会进行一个小的选择,如果后续还会继续更新,就不勾选删除分支,一般情况都推荐删除分支,预览处显示将会合并到develop分支

    前面还有一个选项:在开发分支上进行变基,相当于git rebase,相当于把功能分支上的改动在develop分支上重做一遍,这样分支比较简洁,一般不用这个

    按照前一个选择,不进行变基,执行后如下,develop分支前进一步

    这里没有连接远程仓库进行测试,如果连接远程仓库,再合并前需要先拉取
    根据git flow规范,功能分支应该只存在于本地,但我觉得也可以上传到gitlab上,不然怎么检查进度呢,开发完的功能分支也不一定全部删除,有些算法,插件类的可以一直保留

简单的使用就介绍到这里啦


四、评价总结

  1. 优点:
  • 操作可视化: 对于不熟悉 Git 命令行操作的程序员来说,SourceTree 提供了一个可视化的界面,让他们可以更直观地进行代码的版本控制操作,如创建、克隆、提交、推送、拉取、合并分支等,大大降低了使用门槛。例如,新手可以很清楚地看到文件的修改状态、历史提交记录、分支情况等,方便理解和操作。
  • 功能丰富: 支持 Git 的常见功能,包括 Git Flow 等工作流,并且能够方便地管理子模块。这对于大型项目或者涉及复杂代码结构的项目来说,是非常有用的功能,可以帮助程序员更好地组织和管理代码。
  • 跨平台: 支持 Windows 和 macOS 系统,这使得不同操作系统的程序员都可以使用该工具进行代码管理,方便了团队协作中不同操作系统用户之间的交流和协作。
  1. 缺点:
  • 性能问题: 在处理大型项目或者包含大量文件的仓库时,SourceTree 可能会出现性能下降的情况,比如加载速度慢、操作卡顿等,这会影响程序员的工作效率。
  • 冲突解决不够智能: 当遇到代码冲突时,SourceTree 的冲突解决界面和提示可能不够直观和智能,需要程序员花费较多的时间去理解和解决冲突,对于一些复杂的冲突情况,可能还需要结合命令行工具来进行处理。
  • 学习曲线: 虽然它提供了可视化界面,但对于一些高级功能和复杂的操作场景,程序员仍然需要对 Git 的原理和概念有一定的了解,否则可能会在使用过程中遇到一些困惑和问题,这也需要一定的学习成本。

后记

根据网上反馈,mac 上非常好用。windows上有待改进,可能还不如 idea 自带的 git GUI 工具。

仅仅只是做实际测试,已经有各种卡顿了,

拖入两个测试仓库,需要半天才能更新,删除一个后,打开远程仓库和打开仓库地址都是错误的,很容易造成误操作

编辑完账户无法再操作添加账户了,需要退出后重新打开,添加账户中卡退

只是编辑一个空Java文件,SourceTree 中的同步并不及时

综合来看,如果是大型项目,可能用起来会不太顺心,如果能再对性能优化优化,无疑还是一个非常便捷的生产力工具。

参考文献

Sourcetree安装教程及使用


喜欢的点个关注吧><!祝你永无bug!

txt 复制代码
/*
                   _ooOoo_
                  o8888888o
                  88" . "88
                  (| -_- |)
                  O\  =  /O
               ____/`---'\____
             .'  \\|     |//  `.
            /  \\|||  :  |||//  \
           /  _||||| -:- |||||-  \
           |   | \\\  -  /// |   |
           | \_|  ''\---/''  |   |
           \  .-\__  `-`  ___/-. /
         ___`. .'  /--.--\  `. . __
      ."" '<  `.___\_<|>_/___.'  >'"".
     | | :  `- \`.;`\ _ /`;.`/ - ` : | |
     \  \ `-.   \_ __\ /__ _/   .-` /  /
======`-.____`-.___\_____/___.-`____.-'======
                   `=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            佛祖保佑       永无BUG
*/
相关推荐
坐吃山猪3 小时前
GitPython03-项目setup编译
git·python·setup
liux35286 小时前
DevOps 实践指南:Git 版本控制从入门到精通
git
一念&21 小时前
Git 与 GitHub 的对比与使用指南
git·github
我是李武涯1 天前
svn与git Merge重要区别讲解
git·svn
ん贤1 天前
Git分支
git
迷你二鹏1 天前
前端之Git
前端·git
哈里谢顿1 天前
常见 git push 问题及解决方案
git
MarkGosling1 天前
【开源项目】轻量加速利器 HubProxy 自建 Docker、GitHub 下载加速服务
运维·git·docker·容器·开源·github·个人开发
Aomnitrix1 天前
【分布式版本控制系统】Git的使用
分布式·git
向上的车轮2 天前
SVN与GIT的区别,分别使用与哪些管理场景?
git·svn