推荐几个实用的 Git 图形化界面工具
最近公司全面转向 GitLab 管理代码,很多同学都不太习惯,问我有没有好用的 Git 图形化客户端推荐?我说:有!
Gitk
Gitk 是 Git 提供的一个 GUI 工具,现在安装 Git 的时候就会自动安装 Gitk 工具。Gitk 的主界面主要包含五个部分:
- 主菜单栏显示区
- 提交信息显示区,显示提交的基本信息,包括节点树、message、提交人和提交时间
- 查询条件检索区,根据检索条件查找的窗口
- 具体内容显示区,显示 commit 的变更记录或两个 commit 的 diff 内容
- 文件列表显示区,显示的 commit 的文件列表或两个 commit 的 diff 文件列表
Gitk 的界面并不是最美观的,但胜在方便,满足 Git 操作的大部分需求,可以清晰地查看搜索提交历史及 git 相关操作。
在 Linux 系统中,打开终端 Git 仓库目录,输入 gitk
命令即可使用。Windows 系统则对应 Git GUI 图形工具。
GitHub Desktop
GitHub Desktop 是由 GitHub 开发的完全免费且开源的可自定义的 GUI 客户端程序,基于 Electron 开发,提供 Windows 和 macOS 版本。虽然它是 GitHub 推出的软件,但它不仅允许你与 GitHub 交互,还可以和其他 Git 平台(包括 Bitbucket 和 GitLab)进行交互。
GitHub Desktop 的特点包括漂亮的分区方法,可以轻松地检查带有 pull 请求的分支,你可以检查图片和代码区块之间的差异,甚至可以使用拖拽的方式从应用程序中添加项目进行管理。
下载地址:desktop.github.com
Fork
Fork 是 Mac 和 Windows 的免费高级 Git 图形化客户端,专注于速度,用户友好性和效率。它的功能包括带有快速操作按钮的主题布局,内置的合并冲突帮助器和解析器,仓库管理器,GitHub 通知等。
在免费的 Git 客户端中,我喜欢 Fork 的大部分功能。我知道的功能包括漂亮 UI 中的交互式 rebase、Git 流、Git LFS、精选、恢复、子模块等。
下载地址:git-fork.com
Sourcetree
Sourcetree 是适用于 macOS 和 Windows 的免费 Git 图形化客户端。它简化了版本控制过程,让你可以专注于重要的事情 —— 编码。
Sourcetree 拥有专业的 UI,可以通过直接访问 Git 流、子模块、远程 repo 管理器、本地提交搜索、支持 Git 大文件等可视化管理版本库,来执行 Git 任务和访问 Git 流。
Sourcetree 最早由 Atlassian 为 Bitbucket 开发,但已不限于此。它可以与其他 Git 平台结合使用,并具有对 Mercurial 存储库的内置支持。
下载地址:www.sourcetreeapp.com
SmartGit
SmartGit 是适用于 macOS、Linux 和 Windows 的功能丰富的 Git 客户端,支持 SVN、GitHub 和 Bitbucket 的 Pull Request。它的功能包括用于 Git 的 CLI、图形合并和提交历史记录、SSH 客户端、Git-Flow、文件合并、冲突解决程序等。
SmartGit 是一个商业工具,但也可以免费用于非商业项目。商业许可证的费用从每月 5.99 美元、每年 99 美元到终身费用 229 美元不等。根据你选择的支持期限,费用可能会有所不同。另外还有一些其它升级功能,比如分布式评审(Distributed Reviews)和智能同步(SmartSynchronize),这两个工具每个许可证需要另加 15 美元。如果只用于非商业用途,你也可以通过下载源码或者 deb 安装包进行安装。
下载地址:www.syntevo.com/smartgit/
注意:仅当 SmartGit 被用于以下情况时,才被视为非商业用途。
- 从事开源项目的工作;
- 在公共学术机构学习或教学;
- 在您的业余时间管理项目没有经济补偿(业余爱好使用);
- 公共慈善机构主要针对慈善事业,健康研究,教育或社会福祉。
Sublime Merge
Sublime Merge 是一款适用于 macOS、Windows 和 Linux 的 Git 客户端,由同一开发者继流行的 Sublime Text 源代码编辑器之后创建。
它包含了 Sublime Text 用户满意的所有品质,包括快速的性能、集成的合并工具、强大的搜索工具、高级差异检查器等。它是免费的,但是像 Sublime Text 一样,你需要支付 99 美元的扩展许可。
下载地址:www.sublimemerge.com
GitKraken
GitKraken 是一个免费的跨平台 Git 图形化客户端,支持 Windows、macOS、Linux 操作系统,并且提供 VS Code 插件版本,可用于版本控制系统(包括 GitHub,Bitbucket,GitLab 等)。
GitKraken 旨在通过为你提供直观的 UI、任务跟踪、内置代码编辑器、合并冲突编辑器以及对与其他平台集成的支持,使你成为富有生产力的 Git 用户。
出于商业目的和 Pro 版本中包含的其他特性(如合并冲突编辑器、多个配置文件和自托管存储库),GitKraken 的成本为每月4.08 美元,而企业版本的成本更高。
下载地址:www.gitkraken.com
GitUp
GitUp 是面向 Mac 用户的免费开源 Git 客户端,重点在于速度,简单性,效率和易用性。它绕过 Git 二进制工具并直接与仓库数据库进行交互,这使其比其他 Git 客户端快得多。例如,它在一秒钟内加载并呈现 40,000 个 GitUp 仓库提交的内容。
GitUp 具有所有 Git 功能的 GUI 替代方案,并且可以直观地实现输入命令和实时更改。
下载地址:gitup.co
Ungit
尽管市场上有许多不同版本的 GUI,但是开发人员可能会寻找一种非常简单的使用 git 的方法。是的,如果你很难选择哪种 GUI 更好,Ungit 将解决你的选择问题。
Ungit 在不牺牲 git 多功能性的情况下为 git 带来了用户友好性,并且它在所有平台上均可运行。
下载地址:github.com/FredrikNore…
GitaHead
gitahead.github.io/gi...
GitAhead是适用于所有不同操作系统的图形化Git客户端。它具有快速的原生界面,旨在帮助你了解和管理源代码历史记录。
GitAhead由Understand™的制造商SciTools™设计。它具有吗希望从商业质量的客户获得的所有功能,现在完全免费和开源。
GitBlade
gitblade.com/
GitBlade是一款Mac、Windows、Linux平台上的精美的Git客户端。它为用户提供了操作Git项目所需的日常功能,包括合并工具、显示链接分支和提交的可视化图形,以及联合差异检查来查看多个添加文件之间的差异,这是一个可视化文件历史记录的责任/注释工具。
GitBlade可以免费使用所有基本的Git功能14天专业版功能。专业版的价格为每用户每年19.99美元,它包含了最多可以在3台电脑上使用的许可,存储库标签、非常规工具、合并工具等。
尽管所有这些应用程序都为Git项目提供了类似的功能,但它们具有独特的功能,使其在其他领域脱颖而出。
上一篇: 现在应该选择单一结构还是分布式结构?
推荐阅读
-
推荐几个免费的 HTTP 界面网站和模拟工具
-
推荐几个实用的 Git 图形化界面工具
-
玩转Java底层:JMX详解 - jconsole与自定义MBean监控工具的实际应用与区别" 在日常JVM调优中,我们熟知的jconsole工具通过JMX包装的bean以图形化形式展示管理数据,而像jstat和jmap这类内建监控工具则由JVM直接支持。本文将以jconsole为例,深入讲解其实质——基于JMX的MBean功能,包括可视化界面上的bean属性查看和操作调用。 MBeans在jconsole中的体现是那些可观察的组件属性和方法,如上图所示,通过名为"Verbose"的属性能看到其值为false,同时还能直接操作该bean的方法,例如"closeJerryMBean"。 尽管jconsole给我们提供了直观的可视化界面,但请注意,这里的MBean并非固定不变,开发者可根据JMX提供的接口将自己的自定义bean展示到jconsole。以下步骤展示了如何创建并注册一个名为"StudyJavaMBean"的自定义MBean: 1. 首先定义接口`StudyJavaMBean`,接口需遵循MBean规范,即后缀为"MBean"且包含getter方法代表属性,如`getApplicationName`,和无返回值的setter方法代表操作,如`closeJerryMBean`。 ```java public interface StudyJavaMBean { String getApplicationName(); void closeJerryMBean(); } ``` 2. 编写接口的实现类`StudyJavaMBeanImpl`,实现接口中的方法: ```java public class StudyJavaMBeanImpl implements StudyJavaMBean { @Override public String getApplicationName() { return "每天学Java"; } @Override public void closeJerryMBean() { System.out.println("关闭Jerry应用"); } } ``` 3. 在代码中注册自定义MBean,涉及的关键步骤包括: - 获取平台MBeanServer - 定义ObjectName,指定唯一的MBean标识符 - 注册MBean到服务器 - 启动RMI连接器服务,以便jconsole能够访问 ```java public void registerMBean() throws Exception { // ... 具体实现省略 ... } ``` 实际运行注册后的MBean,您将在jconsole中发现并查看自定义bean的属性和调用相关方法。然而,这种方式相较于传统的属性/日志查看和HTTP接口,实用性相对有限,可能存在潜在的安全风险。但不可否认的是,JMX及其MBean机制对于获取操作系统信息、内存状态等关键性能指标仍然具有重要价值。例如: 1. **获取操作系统信息**:通过JMX MBean,可以直接获取到诸如CPU使用率、操作系统版本等系统级信息,这对于资源管理和优化工作具有显著帮助。
-
必看!10款超赞的 MongoDB 图形化用户界面工具推荐