一个月飙升 9k star!打破常规的 git 客户端

作为一名程序员,想必大家每天都要使用 git 来管理自己的代码吧。有些大佬喜欢使用命令行来进行 git 的操作,有些新入门的小白程序员则比较喜欢使用各种 git 客户端来可视化的管理代码,而有些程序员则喜欢使用 IDE 中集成的 git 功能来做代码的合并和提交。

今天给大家推荐一个很厉害的 git 客户端——GitButler。

项目简介

GitButler 是一个 Git 客户端,可以让我们同时处理多个代码分支。GitButler 最核心的功能是虚拟分支的设计,可以让我们快速将文件更改整理到不同的分支中,同时保持这些更改应用到工作目录中。之后我们可以单独将这些分支推送到远程仓库,或者直接创建拉取请求。

简单来说,GitButler 就像是 git add -pgit rebase -i 的升级版,让您可以更灵活地在不同分支之间进行高效的多任务操作。

而作为一个新发布的开源项目,gitbutler 仅用 10 天就收获了 6000 个 star,一个月内飙升了 9000 个 star,怎么样,很厉害吧。

使用 GitButler

安装和添加项目

目前 GitButler 还只支持 macOS 和 Linux 这两个平台,而作者表示 Windows 平台客户端也在路上了。这里以 macOS 平台为例,我们可以直接从官网下载适合自己平台的安装包,也可以从项目首页的链接中进行下载。

安装完成后,打开应用,我们可以添加一个新的项目,之后按照一步一步的指引完成项目的初始化配置,如图所示。

查看项目

项目界面的左侧是项目的基本信息,中间是默认的 master 分支,可以以树状图或者列表的方式查看你项目中代码文件的结构。有改动的文件会用绿色红色黄色的圆点来标识出来。点击一个文件,右侧可以显示该文件的详细代码,以及改动的部分。

虚拟分支

GitButler 的最大特点是虚拟分支。如果你在同一个项目中开发多个功能,那么你可以创建多个虚拟分支,将属于不同功能的代码拖拽到对应的虚拟分支上。这样就减少了在开发的过程中不断的切换分支带来的麻烦。而每个虚拟分支也可以单独的进行提交。

总结

总结一下,GitButler 不仅仅是一个 git 客户端,它更是为 git 的代码管理功能带来了全新的体验。可视化界面可以清晰的查看项目的改动信息与提交记录,虚拟分支的功能可以让我们更轻松的进行并行开发,拖拽操作的交互方式也简单上手。而缺点就是暂时不支持 Windows 平台,以及没有集成到 IDE 的插件。当然,毕竟才发布了一个多月的项目,后续的功能一定会越来越完善。

项目地址:https://github.com/gitbutlerapp/gitbutler

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/679506.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习】Softmax回归探索

从零开始探索Softmax回归:深度学习的入门之旅 一、Softmax回归的原理与关键步骤二、研究准备:GPU环境下的PyTorch安装与配置三、研究内容:使用PyTorch实现Softmax回归 随着人工智能和机器学习的迅猛发展,深度学习技术逐渐成为了科…

Codeforces Round 950 (Div. 3)(A~D题)

A. Problem Generator 思路:暴力模拟,对于每个字母&#xff0c;如果不足m mm&#xff0c;就加入最终答案. 实现代码: #include<bits/stdc.h> using namespace std; #define N 2000005 #define mod 100003 typedef long long ll; ll n, m, t, cnt, ans, sum1,sum2, maxx…

史上Z快ST

一支股票ST要多久&#xff0c;锦州港告诉你&#xff0c;3个交易日足矣。上周五发出发公告&#xff0c;今天停牌1天&#xff0c;明天复牌就变ST。对锦州港的九万股民来说&#xff0c;好消息是今天不会跌&#xff0c;坏消息是复牌ST以后可以开始每天数地板了。 又是一个浓眉大眼的…

前端 CSS 经典:3D Hover Effect 效果

前言&#xff1a;有趣的 3D Hover Effect 效果&#xff0c;通过 js 监听鼠标移动&#xff0c;动态赋值 rotateX&#xff0c;rotateY 的旋转度来实现。 效果图&#xff1a; 代码实现&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta …

Python脚手架系列-PyQt5

记录PyQt模块使用中的一些常常复用的代码 其他 导入界面 import sysfrom PyQt5.QtGui import QIcon from PyQt5.QtWidgets import QApplication, QMainWindow from UI.MainWindow import Ui_MainWindow # 导入UI界面的类以供继承class MyApp(QMainWindow, Ui_MainWindow):de…

Scala环境的搭建

要搭建Scala&#xff0c;我们必须先下载java&#xff0c;由于我的电脑已经搭建好了环境&#xff0c;因此我这里用截图来教大家搭建环境。 可以从网上搜索安装包对其进行安装 IntelliJ IDEA – 领先的 Java 和 Kotlin IDE 不建议下载最新版的&#xff0c;大家下载的版本可以下…

CyberDAO引领Web3新时代,共创去中心化未来

Web3的新时代 Web3是互联网的下一代版本&#xff0c;基于区块链技术&#xff0c;实现了去中心化、透明和安全的网络体验。与微信、淘宝等传统中心化平台不同&#xff0c;Web3赋予用户更多的控制权和数据所有权。用户行为数据将由用户自己拥有并分布式管理&#xff0c;不再集中…

PySpark特征工程(III)--特征选择

有这么一句话在业界广泛流传&#xff1a;数据和特征决定了机器学习的上限&#xff0c;而模型和算法只是逼近这个上限而已。由此可见&#xff0c;特征工程在机器学习中占有相当重要的地位。在实际应用当中&#xff0c;可以说特征工程是机器学习成功的关键。 特征工程是数据分析…

LeetCode刷题之最大子数组

今天打算多做一题。 1、题目描述 2、逻辑分析 哈哈&#xff0c;这题我前两天在小红书刷到了&#xff0c;博主答不上来&#xff0c;一样的是&#xff0c;我也不知道怎么做。当时只看到评论说什么dp解法&#xff0c;看看题解怎么说。现在才反应过来dp dynamic programming &am…

【C语言】详解函数(庖丁解牛版)

文章目录 1. 前言2. 函数的概念3.库函数3.1 标准库和头文件3.2 库函数的使用3.2.1 头文件的包含3.2.2 实践 4. 自定义函数4.1 自定义函数的语法形式4.2 函数的举例 5. 形参和实参5.1 实参5.2 形参5.3 实参和形参的关系 6. return 语句6. 总结 1. 前言 一讲到函数这块&#xff…

数据库(19)——字符串函数

函数是指一段可以直接被另一段程序调用的程序代码。 常用的函数 函数功能CONCAT(S1,S2...Sn)字符串拼接LOWER(str)将字符串全部转换为小写UPPER(str)将字符串全部转换为大写LPAD(str,n,pad) 用字符串pad对str的左边进行填充RPAD(str,n,pad)用字符串…

10倍速提升音乐制作,FL Studio21.2.9中文版揭秘!

FL Studio21中文版是数字音频工作站软件领域的一颗璀璨明星&#xff0c;它以强大的功能和直观的操作界面&#xff0c;赢得了音乐制作人和爱好者的广泛青睐。无论是专业音乐人还是初学者&#xff0c;都能通过这款软件探索和实现他们对音乐的创作和想象。本文将详细介绍FL Studio…

Maven实战: 从工程创建自定义archetype

在上一节中(创建自定义archetype)我们手动创建了一个项目模板&#xff0c;经过5步能创建出一个项目模板&#xff0c;如果我有一个现成的项目&#xff0c;想用这个项目作为模板来生成其他项目呢&#xff1f;Maven提供了基于项目生成archetype模板的能力&#xff0c;我们分3步来讲…

公差和配合

配合的选择&#xff1a; 配合特性以及基本偏差的应用&#xff1a; 常用优先配合特性及选用举例 为什么一般情况下选用基孔制而不用基轴制&#xff1a; 优先采用基孔制的原因主要包括工艺性、经济性和标准化&#xff1a; 工艺性。加工孔比加工轴更难&#xff0c;因为孔…

函数计数和跟踪 --- console的count和trace方法

新学到一个小方法&#xff0c;分享一下哦。 使用 console 对象的 trace ⽅法在控制台上输出当前的调用栈&#xff0c;可以追踪⼀个函数的执⾏过程。 当我们想要了解一个函数是如何被其他函数调用的&#xff0c;或者想要查看调用栈中的其他信息时&#xff0c;这个方法非常有用…

韩文图片文字识别,这几款软件轻松驾驭韩语文本

在当今信息爆炸的时代&#xff0c;跨语言交流已成为日常生活和工作中的常态。对于需要处理韩文文本的用户来说&#xff0c;韩文图片文字识别技术无疑是一大福音。今天&#xff0c;就为大家介绍几款优秀的韩文图片文字识别软件&#xff0c;让你轻松驾驭韩语文本&#xff0c;提升…

性能工具之 JMeter 常用组件介绍(二)

文章目录 一、Thread Group二、断言组件1、Response Assertion&#xff1a;响应断言2、Response Assertion&#xff1a;响应断言3、Duration Assertion&#xff1a;响应时间断言4.、JSON Assertion&#xff1a;json断言 一、Thread Group 线程组也叫用户组&#xff0c;是性能测…

【linux根分区扩容】

前言&#xff1a; 今天在安装软件的时候发现我的linux的根分区空间不足了&#xff0c;在网上搜索哈资料解决了。 解决根分区空间不足的问题方法&#xff1a; 第一&#xff1a;用lsblk命令查看 发现还有一些空间不在了。 第二&#xff1a;安装扩容工具&#xff1a; yum inst…

react快速开始(四)-之Vite 还是 (Create React App) CRA? 用Vite创建项目

文章目录 react快速开始(四)-之Vite 还是 (Create React App) CRA? 用Vite创建项目背景Vite 和 (Create React App) CRAVite&#xff1f;Vite 是否支持 TypeScript&#xff1f; 用Vite创建react项目参考 react快速开始(四)-之Vite 还是 (Create React App) CRA? 用Vite创建项…

SpringBoot3依赖管理,自动配置

文章目录 1. 项目新建2. 相关pom依赖3. 依赖管理机制导入 starter 所有相关依赖都会导入进来为什么版本号都不用写&#xff1f;如何自定义版本号第三方的jar包 4. 自动配置机制5. 核心注解 1. 项目新建 直接建Maven项目通过官方提供的Spring Initializr项目创建 2. 相关pom依…