ubuntu一些好用的开发工具及其配置

1 终端模糊搜索fzf

https://github.com/junegunn/fzf
输入某命令,比如 conda ,按下ctrl+R,会显示和该命令匹配的历史命令的列表
在这里插入图片描述
有了这个工具再也不用记忆太复杂的命令,只需要知道大概几个单词,输入即可搜索。
其搜索源来自于 vim ~/.zsh_history, 这个文件被fzf工具创建,其会记录所有terminal输入过的命令。

2 bash的最佳替代品 —— Oh-My-Zsh

https://github.com/zeus911/blog-3/blob/master/others/install-and-use-oh-my-zsh.md

3 GitHelper私货工具

文件1:git_helper.py

import click
import subprocessdef run_git_command(*args):subprocess.run(['git', *args])@click.group()
@click.option('--helper', is_flag=True, help='Display help information')
def git_helper(helper):if helper:click.echo('Usage:')click.echo('start <branch_name> --remote_branch=specific_remote_branch_name: ''Fetches the specified remote branch, then creates a local branch with this name based'' on the fetched branch. If remote_branch is not specified, it defaults to master.')click.echo('sync --remote_branch=specific_remote_branch_name: Rebases the current local ''branch onto the specified remote branch. If not specified, defaults to rebase onto ''master.')returndef fetch(remote_branch):run_git_command('fetch', 'origin', remote_branch)@git_helper.command()
@click.argument('branch_name')
@click.option('--remote_branch', default='master',help='Specify the remote branch, default is master')
def start(branch_name, remote_branch):fetch(remote_branch)run_git_command('checkout', '-b', branch_name, f'origin/{remote_branch}')@git_helper.command()
@click.option('--remote_branch', default='master',help='Specify the remote branch, default is master')
def sync(remote_branch):fetch(remote_branch)run_git_command('rebase', f'origin/{remote_branch}')if __name__ == '__main__':git_helper()

文件2:git_helper.sh

#!/usr/bin/zsh
alias git_helper="python /path/to/git_helper.py"alias g_sync="git_helper sync"
alias g_start="git_helper start"alias g_delete='git branch -D'
alias gst='git status'
alias gsc='git add . && git commit'
alias gc='git checkout'
alias gb='git branch --list | cat'

在.bashrc或者.zshrc中添加

source path/to/git_helper.sh

使用方法

  • 创建分支
# 将会以{REMOTE_BRANCH_NAME}为base,在本地创建一个名字为{YOUR_BRANCH_NAME}的与其相同的分支。如果不指定--remote_branch参数,将默认以远程master为base创建本地分支。
g_start YOUR_BRANCH_NAME --remote_branch REMOTE_BRANCH_NAME
  • 同步分支Sync或者说rebase当前分支
# 将当前所在分支sync到指定的{REMOTE_BRANCH_NAME}分支上(本质是rebase),如果不指定默认sync到master分支
g_sync --remote_branch REMOTE_BRANCH_NAME
  • 其他简单命令
g_delete YOUR_BRANCH_NAME # 删除指定分支(不能删除当前分支)
gst # 相当于 git status
gsc # 相当于 git add . && git commit
gc YOUR_BRANCH_NAME # 切换到指定分支,相当于 git checkout
gb # 列出当前所有分支

借助g_start, g_sync, gsc, gc 这四个命令即可覆盖99%的git日常使用。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IP地址专用SSL证书申请指南——六步完成

IP地址SSL证书是一种专门设计用于IP地址的SSL/TLS证书&#xff0c;部署IP地址SSL证书可以实现IP地址HTTPS加密。 一&#xff1a;前提条件 1&#xff1b;申请IP地址SSL证书,必须拥有这个IP地址的管理权限 2&#xff1b;非内网IP&#xff0c;以下是常见的内网IP字段 10.0.0.0…

计算机网络知识点总结————物理层

前言 一、物理层的基本概念 物理层解决什么问题 物理层的主要特性 二、传输媒体 导引型传输媒体 同轴电缆 双绞线 光纤 非导引型传输媒体 三、数据通信的基础知识 1.术语 2.编码方式 总结 前言 我站在清醒和麻木的边缘&#xff0c;不能堕落也不能解脱 一、物理层的…

鸿蒙OpenHarmony Native API【raw_dir.h与raw_file.h】 头文件

raw_dir.h Overview Related Modules: [Rawfile] Description: 提供rawfile目录相关功能 功能包括遍历和关闭rawfile目录 Since: 8 Version: 1.0 Summary Typedefs Typedef NameDescription[RawDir]typedef struct [RawDir] 提供对rawfile目录的访问 Functions Fun…

算法-KMP字符串匹配

题目一 解题思路 KMP算法详解 详解next数组 next[i] 就是使子串 s[0…i] 有最长相等前后缀的前缀的最后一位的下标。 总体来说解next数组和模板串匹配的过程很相似&#xff0c;触类旁通 代码模板 #include<iostream> using namespace std; const int N1e510; char …

AI绘画入门实践 | Midjourney:使用 --ar 控制图片宽高比

参数 Aspect ratio&#xff0c;缩写为 --ar&#xff0c;作用是设置生成图像的宽高比。 使用格式&#xff1a;--ar 宽:高 futuristic portrait of a beautiful human-droid hybrid woman --ar 16:9 futuristic portrait of a beautiful human-droid hybrid woman --ar 9:16 你也…

使用axios请求后端的上传图片接口

安装axios npm install axios 创建input文件上传标签 <input type"file" name"" id"" change"handleChange" /> 使用axios请求后端的图片上传接口 function handleChange(val) {// new FormData() js内置构造函数&#xff0c…

力扣高频SQL 50 题(基础版)第一题

文章目录 力扣高频SQL 50 题&#xff08;基础版&#xff09;第一题1757.可回收且低脂的产品题目说明思路分析实现过程准备数据&#xff1a;实现方式&#xff1a;结果截图&#xff1a; 力扣高频SQL 50 题&#xff08;基础版&#xff09;第一题 1757.可回收且低脂的产品 题目说…

面试常考Linux指令

文件权限 操作系统中每个文件都拥有特定的权限、所属用户和所属组。权限是操作系统用来限制资源访问的机制&#xff0c;在 Linux 中权限一般分为读(readable)、写(writable)和执行(executable)&#xff0c;分为三组。分别对应文件的属主(owner)&#xff0c;属组(group)和其他用…

PostgreSQL的学习心得和知识总结(一百四十九)|psql 的使用技巧:设置、预设、回显和已保存的查询

目录结构 注&#xff1a;提前言明 本文借鉴了以下博主、书籍或网站的内容&#xff0c;其列表如下&#xff1a; 1、参考书籍&#xff1a;《PostgreSQL数据库内核分析》 2、参考书籍&#xff1a;《数据库事务处理的艺术&#xff1a;事务管理与并发控制》 3、PostgreSQL数据库仓库…

Harmony Next -- 图片选择库:宫格展示、全屏预览

hm_image_select_view OpenHarmony三方库中心仓&#xff1a;https://ohpm.openharmony.cn/#/cn/detail/image_select_view 介绍 Harmony Next 图片选择库&#xff0c;可设置最大选择数量、单行显示数量、横向竖向间隔&#xff1b;点击图片后全屏预览 软件架构 Harmony nex…

什么是STP环路保护

在运行生成树协议的网络中&#xff0c;根端口和其他阻塞端口状态是依靠不断接收来自上游设备的BPDU维持。当由于链路拥塞或者单向链路故障导致这些端口收不到来自上游交换设备的BPDU时&#xff0c;设备会重新选择根端口。原先的根端口会转变为指定端口&#xff0c;而原先的阻塞…

2024年NVIDIA A800最新的价格是多少?

英伟达&#xff08;NVIDIA&#xff09;的A800作为一款专为深度学习应用设计的GPU芯片&#xff0c;自发布以来便受到了市场的广泛关注。其价格在不同时间段和销售渠道中有所波动&#xff0c;但总体而言&#xff0c;A800的售价较为高昂&#xff0c;远超普通消费级显卡。 一、价格…

(leetcode学习)110. 平衡二叉树

给定一个二叉树&#xff0c;判断它是否是 平衡二叉树 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;true示例 2&#xff1a; 输入&#xff1a;root [1,2,2,3,3,null,null,4,4] 输出&#xff1a;false示例 3&#xff1a; 输入&#xff1…

AI大模型的革命:解析全球主流AI大模型及其对比分析

在人工智能领域&#xff0c;AI大模型的发展正在改变我们的世界。无论是自然语言处理、图像识别&#xff0c;还是自动驾驶和医疗诊断&#xff0c;AI大模型都展示出其强大的潜力和广泛的应用前景。本文将介绍当前世界上主流的AI大模型&#xff0c;并对各个模型做详细介绍和横向对…

stm32入门-----TIM定时器(PWM输出比较——下)

目录 前言 一、硬件元器件介绍 1.舵机 2.直流电机驱动 二、C语言编程步骤 1.开启时钟 2.配置输出的GPIO口 3.配置时基单元 4.初始化输出比较通道 5.开启定时器 三、实践项目 1.PWM驱动LED呼吸灯 2.PWM驱动舵机 3.PWM驱动直流电机 前言 本期我们就开始去进行TIM定时…

802.11 wireshark 抓包

80211 wireshark 抓包 前言配置 monitor软件配置wireshark 操作 前言 本人习惯使用 Omnipeek 抓包分析&#xff0c;所以 wireshark 的实验只讲到抓包完成。 Windows 环境采用 wireshark 抓包是比较麻烦的&#xff0c;因为支持在 Windows 环境中支持抓包的网卡并不多&#xff0…

Springboot 开发之 RestTemplate 简介

一、什么是RestTemplate RestTemplate 是Spring框架提供的一个用于应用中调用REST服务的类。它简化了与HTTP服务的通信&#xff0c;统一了RESTFul的标准&#xff0c;并封装了HTTP连接&#xff0c;我们只需要传入URL及其返回值类型即可。RestTemplate的设计原则与许多其他Sprin…

java找不到符号解决办法

一、java找不到符号 如果你的代码里没有报错&#xff0c;明明是存在的。但是java报错找不到符号。如下所示&#xff0c; 二、解决步骤 1.清除编码工具缓存 本人用的idea&#xff0c; eclipse清除缓存方式有需要的可以百度一下&#xff01; 2.如果是mavne项目的 先clean 再…

19. 填坑Ⅱ

Description emmm&#xff0c;还是北湖深坑&#xff0c;不用惊喜&#xff0c;不用意外。我们继续用石头填&#xff01; 北湖的地面依旧是一维的&#xff0c;每一块宽度都为1&#xff0c;高度是非负整数&#xff0c;用一个数组来表示。 还是提供不限量的 1 * 2 规格的石头。 …

vue字段判断是否可以鼠标悬浮或者点击跳转

通过字段判断是否可以鼠标悬浮展示颜色 是否点击 <span :class"[converBond.stkindustry ! null ? hoverSpan:,]"click"converBond.stkindustry ! null ?goToIndustry(converBond.stkindustryname,converBond.stkindustry):false">{{converBon…