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

【保姆级喂饭教程】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/

在这里插入图片描述


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

在这里插入图片描述


ZEEKLOG下载链接: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!

/* _ooOoo_ o8888888o 88" . "88 (| -_- |) O\ = /O ____/`---'\____ .' \\| |// `. / \\||| : |||// \ / _||||| -:- |||||- \ | | \\\ - /// | | | \_| ''\---/'' | | \ .-\__ `-` ___/-. / ___`. .' /--.--\ `. . __ ."" '< `.___\_<|>_/___.' >'"". | | : `- \`.;`\ _ /`;.`/ - ` : | | \ \ `-. \_ __\ /__ _/ .-` / / ======`-.____`-.___\_____/___.-`____.-'====== `=---=' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 佛祖保佑 永无BUG */ 

Read more

Flutter 组件 saropa_lints 适配鸿蒙 HarmonyOS 实战:代码质量守卫,构建性能合规性检查与自定义分析规约治理架构

Flutter 组件 saropa_lints 适配鸿蒙 HarmonyOS 实战:代码质量守卫,构建性能合规性检查与自定义分析规约治理架构

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 saropa_lints 适配鸿蒙 HarmonyOS 实战:代码质量守卫,构建性能合规性检查与自定义分析规约治理架构 前言 在鸿蒙(OpenHarmony)生态迈向大规模工业化协同、涉及超大型项目敏捷迭代、海量模块解耦及严苛 AOT 性能交付标准的背景下,如何实现一套能够自动拦截低质量代码、保障跨团队开发风格绝对统一且符合鸿蒙性能极致要求的“静态扫描中心”,已成为决定应用长期可维护性与研发效能感的关键。在鸿蒙设备这类强调 AOT 静态优化与严格类型安全的环境下,如果应用代码中充斥着滥用的 dynamic 调用或循环引用,由于由于编译期的类型擦除与运行时的屏障开销,极易由于由于“代码腐化”导致鸿蒙应用在长期运行后发生不可预知的内存泄露。 我们需要一种能够强制约束研发纪律、支持自定义规则扩展且具备“一站式”合规性判定的 Linter 方案。 saropa_lints 为 Flutter 开发者引入了“质量铁律”范式。它不是简单的代码检查

By Ne0inhk
微信小程序虚拟支付整合thinkphp核心实现 你的小程序如有开通会员等则为虚拟类型 要使用虚拟支付了 要不然判定为违规

微信小程序虚拟支付整合thinkphp核心实现 你的小程序如有开通会员等则为虚拟类型 要使用虚拟支付了 要不然判定为违规

小程序虚拟支付业务管理规范更新公告2026-02-27 各位开发者: 微信小程序现已全面支持iOS端虚拟支付服务,为虚拟支付业务相关的开发者提供更广阔的用户覆盖。目前iOS端虚拟支付享受15%优惠费率,极大降低开发者的运营成本。 为保障用户权益,提高交易安全,开发者在小程序内提供的虚拟商品、购买和支付现均需接入小程序虚拟支付。 若你的小程序内涉及虚拟支付业务,请在4月1日前全终端(包括iOS端、安卓端、Windows与鸿蒙端)接入虚拟支付,到期未接入将被判定为违规,根据违规程度将对该小程序采取风险提醒、限制功能直至暂停或终止提供服务等措施,请广大开发者及时对照以下接入指引、运营规范等文件业务,确保合规经营。 什么是虚拟支付业务:虚拟支付业务是指购买非实物商品,比如:VIP会员、充值代币、录制课程、录制音频视频等虚拟产品。 接入指引:小程序虚拟支付接入指引 运营规范:小程序虚拟支付行为运营规范 v 基于微信虚拟支付文档,你需要实现以下关键服务器API。所有接口请求方式均为POST,Content-Type: application/json,且需在URL中携带access_toke

By Ne0inhk
Unity游戏开发深度解析:从零基础到高级架构的完整实战指南

Unity游戏开发深度解析:从零基础到高级架构的完整实战指南

🌟 Hello,我是蒋星熠Jaxonic! 🌈 在浩瀚无垠的技术宇宙中,我是一名执着的星际旅人,用代码绘制探索的轨迹。 🚀 每一个算法都是我点燃的推进器,每一行代码都是我航行的星图。 🔭 每一次性能优化都是我的天文望远镜,每一次架构设计都是我的引力弹弓。 🎻 在数字世界的协奏曲中,我既是作曲家也是首席乐手。让我们携手,在二进制星河中谱写属于极客的壮丽诗篇! 摘要 Unity的魅力不仅在于其直观的可视化编辑器和强大的跨平台能力,更在于它为开发者提供了一个完整的生态系统。无论你是想要开发2D像素风格的独立游戏,还是要构建3D AAA级别的大型项目,Unity都能为你提供相应的解决方案。在我的开发历程中,我曾用Unity开发过移动端的休闲游戏、PC端的策略游戏,甚至还涉足了VR和AR应用的开发,每一次的项目经历都让我对Unity有了更深层次的理解。 特别值得一提的是Unity的组件化架构设计,这种设计理念不仅让游戏对象的管理变得更加灵活,也为代码的复用和维护提供了极大的便利。通过合理的组件设计和脚本编写,我们可以构建出高度模块化的游戏系统,这对于大型项目的团队协作尤为重要。

By Ne0inhk
详解RabbitMQ高级特性之延迟插件的安装和使用

详解RabbitMQ高级特性之延迟插件的安装和使用

目录 延迟队列插件 延迟队列插件的下载 延迟队列插件的安装  延迟队列插件的启用 编辑 添加配置 常量类 声明队列和交换机并绑定二者关系 编写生产消息代码 编写消费消息代码 观察效果 面试题 延迟队列插件 RabbitMQ官⽅也提供了⼀个延迟的插件来实现延迟的功能。 延迟队列插件的下载 插件下载链接---》链接 根据⾃⼰的RabbitMQ版本选择相应版本的延迟插件, 下载后上传到服务器。 查看RabbitMQ版本的命令 rabbitmqctl status | grep "RabbitMQ"  /usr/lib/rabbitmq/plugins 是⼀个附加⽬录, RabbitMQ包本⾝不会在此安装任何内容, 如果 没有这个路径, 可以⾃⼰进⾏创建。 延迟队列插件的安装  把下载好的 .ez文件上传到   /usr/lib/rabbitmq/

By Ne0inhk