复制执行下面的命令进行安装
curl -sSL https://raw.githubusercontent.com/18202781743/dev-tool/main/install-from-github.sh | bash
如果只使用 github 打 changelog 的功能
# 完善配置
# 填写github用户名
dev-tool config git set git.githubID="mhduiy"
# 填写维护者信息
dev-tool config git set git.debEmail="xxxx <[email protected]>"如果只使用 crp 打包
配置crp的用户和密码
dev-tool config crp set auth.userId="xxxxxxx"
dev-tool config crp set auth.password="xxxx"# github 生成 changelog 并自动提交一个pr(增加test参数可以打印下生成的changelog,不会提交pr)
dev-tool git --name deepin-update-ui test --verbose
# crp 打包
dev-tool crp --topic DDE-20250801 --name xxx testdev-tool upgrade💡 提示:配置文件存储在 ~/.config/dev-tool/ 目录下
安装脚本会自动安装以下系统依赖:
基础依赖:
python3-venv- Python虚拟环境git- 版本控制工具curl/wget- 下载工具jq- JSON处理工具(用于配置文件编辑)
Git标签功能依赖:
devscripts- 包含dch命令,用于debian changelog管理gh- GitHub CLI工具(用于PR管理)
图标查找功能依赖:
libdtkgui5-bin- DTK图标主题工具qtxdg-dev-tools- Qt图标查找工具
- 使用GitHub功能前需要登录GitHub CLI:
gh auth login - 使用前需要正确配置dev-tool的GitHub账户和维护者邮箱
- 若需要CRP打包,则需要在配置中设置CRP的账户和密码
# 📦 打包项目
dev-tool crp pack --topic DDE-V25-20250116 --name deepin-desktop-theme-v25 --branch upstream/master
# 🔍 查询项目
dev-tool crp projects --name deepin-desktop-theme
# 📌 查询测试主题
dev-tool crp topics --topic DDE-V25-20250116
# 📋 查询已打包列表
dev-tool crp instances --topic DDE-V25-20250116
# 🌿 查询项目分支
dev-tool crp branches --topic DDE-V25-20250116 --name deepin-desktop-theme-v25
# 🧪 测试打包
dev-tool crp test --topic DDE-V25-20250116 --name deepin-desktop-theme-v25
# 📄 生成转测文档(模板文件 `crp-gendoc.xlsx`,可放在当前目录或 `~/.config/dev-tool/` 目录下,或通过`--template`参数指定路径。)
dev-tool crp gendoc --topic DDE-V25-20250623
dev-tool crp gendoc --topic DDE-V25-20250623 --template /path/to/测试-桌面专业版-转测申请单.xlsx
# 🏭 批量打包项目 (使用配置文件)
dev-tool batch-crp pack --config batch-package-crp-config.json
# 🧪 批量测试打包
dev-tool batch-crp test --config batch-package-crp-config.json# 🏷 创建新标签 (自动递增版本号)
dev-tool git tag --name deepin-desktop-theme-v25 --org linuxdeepin
# 🏷 指定版本号创建标签
dev-tool git tag --name deepin-desktop-theme-v25 --org linuxdeepin --tag 1.1.1
# 🔄 合并标签PR
dev-tool git merge --name deepin-desktop-theme-v25
# 🧪 测试标签变更
dev-tool git test --name deepin-desktop-theme-v25
# 🔍 查看最新标签
dev-tool git lasttag --name deepin-desktop-theme-v25
# 🚀 触发自动发布 (使用GitHub Auto Release workflow)
dev-tool git release --name deepin-desktop-theme-v25 --org linuxdeepin
# 注意:命令会自动使用配置中的邮箱地址作为工作流的email参数
# 🔍 搜索GitHub组织下的项目 (按更新时间排序)
dev-tool git projects
# 🔍 模糊搜索GitHub组织下的项目
dev-tool git projects --org linuxdeepin --name dtk
# 🔍 简要输出项目列表 (只显示项目名称)
dev-tool git projects --org linuxdeepin --name dtk --quiet
# 🏷 批量创建标签 (使用配置文件)
dev-tool batch-git tag --config batch-git-config.json
# 🔄 批量合并标签PR
dev-tool batch-git merge --config batch-git-config.json
# 🧪 测试批量标签变更
dev-tool batch-git test --config batch-git-config.json
# 🔍 查看批量最新标签
dev-tool batch-git lasttag --config batch-git-config.json
# 🚀 批量触发自动发布
dev-tool batch-git release --config batch-git-config.json
# 🏷 本地标签管理 (无需远程权限)
dev-tool git tag-local --repo /path/to/local/repo
# 🏷 在当前目录创建本地标签
dev-tool git tag-local
# 🏷 指定版本号创建本地标签
dev-tool git tag-local --repo ~/.cache/git-tag-dir/dtkgui --tag 5.8.0
### 🎯 Tag-Local功能特色
`tag-local`命令专为本地开发环境设计,无需GitHub权限或远程仓库访问:
**🔧 功能特点:**
- 📍 **本地操作** - 仅在本地仓库中操作,无需网络权限
- 🔄 **自动版本递增** - 基于现有changelog自动生成下一版本号
- 📝 **智能changelog更新** - 自动提取commit信息并更新debian/changelog
- 🎯 **精确提交匹配** - 使用多种方法精确定位版本对应的提交
- ⚡ **零配置使用** - 使用默认参数即可在当前目录快速操作
**📋 使用场景:**
- 🏠 **本地开发** - 在本地开发环境中管理版本标签
- 🔒 **受限环境** - 无法访问GitHub或需要离线工作时
- 🧪 **测试验证** - 在提交远程PR前先本地验证changelog生成
- 📦 **打包准备** - 为本地打包流程准备标准化的changelog
**⚙️ 使用示例:**
```bash
# 在当前git仓库中自动生成下一版本
cd /path/to/your/project
dev-tool git tag-local
# 在指定仓库中创建特定版本标签
dev-tool git tag-local --repo ~/.cache/git-tag-dir/dtkgui --tag 5.8.0
# 显示详细操作过程
dev-tool git tag-local --repo /path/to/repo --verbose
# 静默模式,只显示关键信息
dev-tool git tag-local --repo /path/to/repo --quiet# 🔍 查找deepin系统图标
dev-tool findicon deepin-music
# 🔍 查找应用程序图标
dev-tool findicon deepin-terminal
# 🔍 查找系统图标
dev-tool findicon user-home
# 🔍 查找主题图标
dev-tool findicon applications-multimedia
# ❓ 查看帮助信息
dev-tool findicon --help# CRP参数
--topic 测试主题名称 (必填)
--name 项目名称 (必填)
--branch 分支名称 (默认: upstream/master)
# Batch-CRP参数
--config 配置文件路径 (必填)
--topic 测试主题名称 (可选)
--branch 分支名称 (默认: upstream/master)
# Git参数
--name 项目名称 (必填)
--org 组织名称 (默认: linuxdeepin)
--branch 分支名称 (默认: master)
--tag 指定版本号 (不指定则自动递增)
--reviewer 评审人员 (可多个)
# Git Tag-Local参数
--repo 本地仓库路径 (默认: 当前目录)
--tag 指定版本号 (不指定则自动递增)
--verbose 显示详细输出信息
--quiet 简要输出结果 (不显示详细信息)
# Git Release参数
--name 项目名称 (必填)
--org 组织名称 (默认: linuxdeepin)
注意:release命令会自动使用配置中的邮箱地址作为工作流参数
# Git Projects参数
--org 组织名称 (默认配置: linuxdeepin)
--name 项目名称模糊搜索 (可选)
--quiet 简要输出结果 (只显示项目名称,不显示时间)
# Batch-Git参数
--config 配置文件路径 (必填)
--org 组织名称 (默认: linuxdeepin)
--branch 分支名称 (默认: master)
--tag 指定版本号 (不指定则自动递增)
--reviewer 评审人员 (可多个)
# findicon参数
icon-name 图标名称 (必填)
--help 显示帮助信息# 编辑CRP配置
dev-tool config crp
# 编辑Git标签配置
dev-tool config git我们欢迎各种形式的贡献:
<div style="flex: 1; min-width: 200px; padding: 15px; background: white; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1)">
<h4>💻 代码贡献</h4>
<p>提交PR改进代码</p>
</div>
<div style="flex: 1; min-width: 200px; padding: 15px; background: white; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1)">
<h4>📖 文档改进</h4>
<p>完善使用文档和示例</p>
</div>
本项目使用 MIT 许可证 - 查看 LICENSE 文件了解详情