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

news2024/12/25 9:35:30

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 subprocess


def 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.')
        return


def 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.coloradmin.cn/o/1942346.html

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

相关文章

SSD基本架构与工作原理

SSD的核心由一个或多核心的CPU控制器、DRAM缓存以及多个NAND闪存芯片组成。CPU控制器负责管理所有读写操作&#xff0c;并通过DRAM缓存存储映射表等元数据&#xff0c;以加速寻址过程。 NAND闪存则是数据存储的实际介质&#xff0c;其组织结构从大到小依次为通道&#xff08;包…

C++实现LRU缓存(新手入门详解)

LRU的概念 LRU&#xff08;Least Recently Used&#xff0c;最近最少使用&#xff09;是一种常用的缓存淘汰策略&#xff0c;主要目的是在缓存空间有限的情况下&#xff0c;优先淘汰那些最长时间没有被访问的数据项。LRU 策略的核心思想是&#xff1a; 缓存空间有限&#xff1…

航片转GIS数据自动化管线

近年来&#xff0c;计算机视觉领域的进步已显著改善了物体检测和分割任务。一种流行的方法是 YOLO&#xff08;You Only Look Once&#xff09;系列模型。YOLOv8 是 YOLO 架构的演进&#xff0c;兼具准确性和效率&#xff0c;是各种应用的绝佳选择&#xff0c;包括分割卫星航拍…

借助Python将txt文本内容导入到数据库

安装数据库并创建admin账号 #Create mariadb user CREATE USER admin% IDENTIFIED BY password; GRANT SELECT, INSERT, UPDATE, DELETE ON hosts_info.* TO admin%; FLUSH PRIVILEGES;创建库并创建数据表 #创建库 CREATE DATABASE hosts_info; #创建表 CREATE TABLE host_tm…

shell条件语句

一&#xff0c;条件测试 1 . test命令 测试表达式是否成立,若成立返回0,否则返回其他数值 1.1 格式 test 条件表达式 [ 条件表达式 ] 2 . 文件测试 2.1 格式 [ 操作符 文件或目录 ] 例 test -d /home/user 2.2 常用的测试操作符 -d:测试是否为目录(Directory)-e:测试目…

安装Ubuntu24.04服务器版本

Ubuntu系统安装 一.启动安装程序二.执行 Ubuntu Server 安装向导1.选择安装程序语言&#xff0c;通常选择「English」2.设置键盘布局&#xff0c;默认「English US」即可3.选择安装方式 三.配置网络1.按Tab键选择网络接口&#xff08;例如 ens160&#xff09;&#xff0c;然后按…

== 与 equals 的区别

概念 它的作用是判断两个对象的地址是不是相等&#xff0c;判断两个对象是不是同一个对象基本数据类型比较的是值是否相等引用数据类型比较的是内存地址是否相等 equals() 概念 它的作用也是判断两个对象是否相等。但它一般有两种使用情况&#xff1a;情况1&#xff1a;类没有…

重复图片查找:巧用Python和OpenCV进行图像哈希与汉明距离检测以从海量图片中找出重复图片

重复图片查找&#xff1a;巧用Python和OpenCV进行图像哈希与汉明距离检测以从海量图片中找出重复图片 1. 导言2. 环境准备3. 图像哈希&#xff08;pHash&#xff09;原理4. 汉明距离原理5. 代码实现导入必要的库图像哈希计算函数汉明距离计算函数查找重复图片函数示例使用 在处…

昇思25天学习打卡营第14天|计算机视觉

昇思25天学习打卡营第14天 文章目录 昇思25天学习打卡营第14天FCN图像语义分割语义分割模型简介网络特点数据处理数据预处理数据加载训练集可视化 网络构建网络流程 训练准备导入VGG-16部分预训练权重损失函数自定义评价指标 Metrics 模型训练模型评估模型推理总结引用 打卡记录…

Python机器学习入门:从理论到实践

文章目录 前言一、机器学习是什么&#xff1f;二、机器学习基本流程三、使用Python进行机器学习1.数据读取2.数据规范化3. 数据降维&#xff08;主成分分析&#xff09;4. 机器学习模型的选择5. 线性回归模型的实现6. 可视化结果 总结 前言 机器学习是人工智能的一个重要分支&…

RabbitMQ的学习和模拟实现|muduo库的介绍和使用

muduo库 项目仓库&#xff1a;https://github.com/ffengc/HareMQ muduo库 muduo库是什么快速上手搭建服务端快速上手搭建客户端上面搭建的服务端-客户端通信还有什么问题?muduo库中的protobuf基于muduo库中的protobuf协议实现一个服务器 muduo库是什么 Muduo由陈硕大佬开…

无人机之摄影构图指南

一、三分法构图 将画面分为三等分&#xff0c;水平线或地平线通常放在1/3处&#xff0c;使得画面看起来更加舒适。主体放在九宫格四个交点&#xff08;视觉中心&#xff09;上&#xff0c;突出视觉中心。 二、对称式构图 将画面左右或上下对等分割&#xff0c;形成呼应&…

HTML:lang属性作用

lang作用 用法常见语言代码优点示例结构效果说明分析HTML 基础结构导航栏内容部分总结 扩展 用法 HTML 文档级别: 在 <html> 标签上使用 lang 属性&#xff0c;指定整个文档的语言。 <!DOCTYPE html> <html lang"en"> <head><meta charse…

(C++) 文件读写基础

文章目录 &#x1f5c2;️前言&#x1f4c4;ref&#x1f4c4;访问标记&#x1f5c3;️流打开模式类型 &#x1f5c2;️Code&#x1f4c4;demo&#x1f4c4;分点讲解&#x1f5c3;️打开/关闭&#x1f5c3;️写&#x1f5c3;️读&#x1f5c3;️状态函数 &#x1f5c2;️END&…

javascript 的执行上下文与作用域

目录 1. 初步了解 上下文&#xff08;context&#xff09;2. 全局上下文(global context)3. 上下文栈 (context stack)4. 作用域链( scope chain)5. 作用域(scope)6. 作用域链增强 1. 初步了解 上下文&#xff08;context&#xff09; 上下文(context) 全称 执行上下文 (execut…

linux中RocketMQ安装(单机版)及springboot中的使用

文章目录 一、安装1.1、下载RocketMQ1.2、将下载包上传到linux中&#xff0c;然后解压1.3、修改runserver.sh的jvm参数大小&#xff08;根据自己服务器配置来修改&#xff09;1.4、启动mqnamesrv &#xff08;类似于注册中心&#xff09;1.5、修改runbroker.sh的jvm参数大小&am…

【Linux】进程信号 --- 信号处理

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前正在学习c和算法 ✈️专栏&#xff1a;Linux &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章有啥瑕疵&#xff0c;希望大佬指点一二 如果文章对…

el-table列的显示与隐藏

需求&#xff1a;实现 表字段的显示与隐藏。效果图 代码实现 写在前面 首先 我部分字段有自定义的排序逻辑&#xff0c;和默认值或者 数据的计算 所以是不能简单的使用 v-for 循环column 。然后 我需要默认展示一部分字段&#xff0c;并且 当表无数据时 提示不能 显示隐藏 …

HTTP 缓存

缓存 web缓存是可以自动保存常见的文档副本的HTTP设备&#xff0c;当web请求抵达缓存时&#xff0c;如果本地有已经缓存的副本&#xff0c;就可以从本地存储设备而不是从原始服务器中提取这个文档。使用缓存有如下的优先。 缓存减少了冗余的数据传输缓存环节了网络瓶颈的问题…

学习大数据DAY21 Linux基本指令2

目录 思维导图 搜索查看查找类 find 从指定目录查找文件 head 与 tail 查看行 cat 查看内容 more 查看大内容 grep 过滤查找 history 查看已经执行过的历史命令 wc 统计文件 du 查看空间 管道符号 | 配合命令使用 上机练习 4 解压安装类 zip unzip 压缩解压 tar …