Git项目管理

使用Git提交模板

  1. 项目根目录下创建提交模板

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    cat > .gitmessage << 'EOF'
    # ============= Git 提交信息模板 =============
    # 类型(必填): feat | fix | docs | style | refactor | perf | test | chore | ci | build | revert
    # 影响范围(可选): 例如模块、组件或功能(如 "user-auth", "payment-api"
    # 描述(必填): 简洁说明本次提交的更改
    # --------------------------------------------

    <类型>(<影响范围>): <简短描述>

    # 详细说明(可选):
    # - 为什么进行这次更改?
    # - 解决了什么问题?
    # - 是否有副作用或注意事项?

    # 关联 Issue 或 Task(可选):
    # Fixes #123
    # Closes #456
    # Related to #789

    # -------------------- 示例 --------------------
    # feat(user-auth): 添加 OAuth2 登录支持
    #
    # - 集成 Google 和 GitHub OAuth2 登录
    # - 更新用户模型以存储第三方登录信息
    #
    # Fixes #42
    # Related to #56
    # =============================================
    EOF
  2. 配置当前项目使用模板提交(项目成员都需配置)

    1
    git config --local git commit.template=.gitmessage
  3. 创建强制检查脚本

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    mkdir .githooks
    cat > commit-msg << 'EOF'
    #!/bin/bash
    MSG_FILE="$1"
    MSG=$(cat "$MSG_FILE")

    # 检查是否包含类型和描述
    if ! echo "$MSG" | grep -qE "^(feat|fix|docs|style|refactor|perf|test|chore|ci|build|revert)\(.*\): .+"; then
    echo "错误:提交信息不符合规范!"
    echo "示例: feat(user-auth): 添加登录功能"
    exit 1
    fi
    EOF
    chmod +x .githooks/commit-msg
  4. 配置强制检查提交格式(项目成员都需配置)

    1
    git config --local git core.hookspath=.githooks

Linux上支持拆分窗口的终端

在Ubuntu中,有几个终端模拟器支持窗口拆分功能,允许你在一个终端窗口内同时显示多个会话。以下是一些常见的支持窗口拆分的终端模拟器:

  1. GNOME Terminal
    • GNOME Terminal本身不直接支持窗口拆分,但你可以使用tmuxscreen等终端复用工具来实现窗口拆分功能。
  2. Tilix
    • Tilix是一个非常强大的终端模拟器,支持平铺式布局和窗口拆分。你可以同时在同一窗口中垂直或水平拆分多个终端会话,非常适合进行多任务操作。
  3. Terminator
    • Terminator也是一个支持窗口拆分的终端模拟器,它允许你将终端拆分成多个窗格,可以水平或垂直拆分,十分方便进行多任务操作。
  4. Konsole
    • 如果你使用的是KDE桌面环境,Konsole是一个非常好的选择,它也支持窗口拆分功能,用户可以在一个窗口内分屏显示多个终端会话。
  5. Alacritty
    • Alacritty本身不内置窗口拆分功能,但可以与tmux结合使用,达到类似的效果。Alacritty本身强调速度和简洁性,因此没有过多的图形化界面。
  6. Xterm + tmux/screen
    • Xterm 是一个轻量级的终端模拟器,虽然它没有直接的窗口拆分功能,但可以与tmuxscreen等工具结合使用,提供类似的终端拆分体验。

如果你需要一个图形化界面的终端模拟器,TilixTerminator都是非常好的选择。如果你不介意使用命令行工具,结合tmux的任何终端模拟器都能满足拆分窗口的需求。

Hexo写作指南

创建草稿文章

1
hexo new draft "Example"

发布草稿hexo publish draft Example

创建文章

1
hexo new draft "Example"

创建分类

1
hexo new page categories

创建tag

1
hexo new page tags

记录一下解决Google Voice网页版拨打电话一闪而过的问题

我的电脑环境是Ubuntu 22.04连接了一个无线蓝牙耳机,当使用Google Voice网页版拨打电话时拨号界面总是一闪而过,后来网上查询各种方法也未解决,经过自己的一番折腾搞明白了原来是音频设置的问题

先检查一下音频设置有没有问题,麦克风、响铃、扬声器这三个框中都应该能看到你目前连接的设备才对

image-20240412114843186

image-20240412115030371

如果不能看见到系统设置中把相对应的输入、输出设备都打开就可以了

image-20240412115304805

Android Nearby Share快速分享至Linux

一直以来原生的Android手机和Linux设备之间共享文字/文件等信息有诸多不便,之前也试过KDE Connect和AirDroid等软件尽管有诸多的第三方软件支持但是总觉得安装app太麻烦而且效果也不尽人意,直到我发现了一个软件 RQuickShare 这款软件支持Google原生的的Nearby Share快速分享用起来十分舒服这里推荐给大家。

演示图片

Typora预览hexo文章图片

  1. 在Typora中设置正确的图片复制路径

    image-20240222122541351

  2. 在scaffolds/draft.md和scaffolds/post.md中添加typora-root-url这样每次生成的文章中都会自动添加预览目录

    1
    2
    3
    4
    5
    6
    ---
    title: {{ title }}
    categories:
    tags:
    typora-root-url: {{ title }}
    ---

    注意:如果文章标题中包含空格hexo默认会使用-替换,但是在typora-root-url需要手动替换。

IDA-Pro入门知识

快捷键指南

快捷键 指令
Tab 在反汇编视图和伪代码视图之间切换
F5 转换为伪代码
N 对函数或变量进行重命名
U 取消数据定义
C 将数据解析为代码
M 将当前数据类型转成为枚举成员
Y 对函数或变量进行类型定义
G 跳转函数地址
/ 对代码进行注释
X 查找函数交叉引用/查找变量的本地引用
Space 列表视图与图形视图切换
Shift + F12 打开字符串表
Ctrl + Alt + X 查找变量全局引用
Ctrl + Shift + W 调出数据库快照
Ctrl + Shift + T 调出数据库快照管理器

数据类型定义

1
2
3
4
byte / char / uint8 / int8    -> db 1个字节
word / short / uint16 / int16 -> dw 2个字节
dword / int / uint … -> dd 4个字节 (32位指针)
qword / int64 … -> dq 8个字节 (64位指针)

大部分情况下,整数以小端序存储在内存

0xA1B2C3D4 存储到内存的顺序为 D4 C3 B2 A1

前缀说明

前缀 说明
sub_ 指令和子函数起点
locret_ 返回指令
loc_ 指令
off_ 数据,包含偏移量
seg_ 数据,包含段地址值
asc_ 数据,ASCII字符串
byte_ 数据,字节(或字节数组)
word_ 数据,16位数据(或字数组)
dword_ 数据,32位数据(或双字数组)
qword_ 数据,64位数据(或4字数组)
flt_ 浮点数据,32位(或浮点数组)
dbl_ 浮点数,64位(或双精度数组)
tbyte_ 浮点数,80位(或扩展精度浮点数)
stru_ 结构体(或结构体数组)
algn_ 对齐指示
unk_ 未处理字

查找函数地址偏移量

打开Pseudocode窗口在左下角可以找到函数位于文件的地址偏移量

image-20231227110658934

  • Copyrights © 2015-2025 Kaisar
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信