脚本功能

安装

./bin/inject            # 生成 ~/.scripts.sh 并 source 到所有 rc
./bin/inject --show     # 预览将写入的内容
./bin/inject --uninstall  # 卸载

inject 幂等:重跑不会重复追加。完成后重启 shell 或 source ~/.zshrc 即可在任意目录直接调用。

功能表

脚本功能示例
checkwork自动化编译检查 + 语音通知checkwork
cpd深度覆盖复制 (默认只新增/更新; -f 删除目标多余文件)cpd src/* dest/
kk按进程名终止进程kk nginx
kkp按端口终止进程kkp 8080
nmacOS 语音播报 (say)n "构建完成"
loop循环执行命令, 追踪成功/失败loop 10 curl url
merge_canary合并当前分支 → canary, 留在 canarymerge_canary [--dry-run]
merge_develop合并当前分支 → develop, 留在 developmerge_develop
merge_auto合并当前分支 → 远端默认分支, 留在目标merge_auto
merge_test合并当前分支 → test, 留在 testmerge_test
push_canary合并当前分支 → canary, 推送后切回原分支push_canary [--stay]
push_develop / push_auto / push_test同上, 目标分别为 develop / 远端默认 / test
push_* (批量)在非 git 目录执行 push_* 时自动批量: 扫描子目录 Git 仓库逐个推送push_canary [--dry-run]
switch_branch批量切换分支 (不存在则从 origin/master 创建)switch_branch <branch>
sync_master批量同步 mastersync_master
sync_branch批量同步当前分支 (或指定分支) 到 origin/sync_branch [branch] [--force]
delete_branch删除本地分支 (单仓/批量)delete_branch <name> [--force] [-y]
delete_branch_remote删除远端分支 (单仓/批量)delete_branch_remote <name> [--remote <r>] [-y]
fetch_all批量 fetch 所有 Git 仓库fetch_all
unsleepmacOS caffeinate 防休眠unsleep -t 3600
reindex项目重新索引 (local-only, .gitignore)reindex
inject把 bin/ 注入 shell PATHinject

迁移说明(旧名已移除)

  • mergec / mergedev / mergem / mergetmerge_canary / merge_develop / merge_auto / merge_test
  • pushc / pushdev / pushm / pushtpush_canary / push_develop / push_auto / push_test
  • pushc_all 已并入 push_*:在非 git 目录执行即自动批量,自动执行无确认,--dry-run 预览。

环境变量

  • BATCH_CONCURRENCY:批量操作(push_* / switch_branch / sync_branch / sync_master)并行并发上限,默认 4。例:BATCH_CONCURRENCY=8 push_canary

环境依赖

  • Python 3.10+(薄壳与核心逻辑)
  • Git(merge_* / push_* / switch_branch / sync_master / fetch_all / delete_branch)
  • macOSnsayunsleepcaffeinate
  • rich(输出美化,pip install rich
  • pgrep / ps / lsof / kill(kk / kkp)