# 常用配方: https://git.cufah.cloud/ahfei/bash-script/raw/branch/main/justfile # === 全局变量 === root := justfile_directory() machine_ip := `ip -4 addr show scope global | grep -oP '(?<=inet\s)\d+(\.\d+){3}' | head -n1` # === 常用配方 === # 创建一个空 commit ,带提交信息模板 @new: git commit --allow-empty --edit --file={{root}}/.gitmessage @forget: if git diff --quiet HEAD HEAD~1; then \ git reset --soft HEAD~1 && echo "✅ 空提交已删除"; \ fi # 将所有文件 amend,若取消则将暂存区文件移出 @amend: cd "{{root}}" && git add . && git commit --amend || (git restore --staged . && false) # 列出所有已合并到当前分支(这里指定了 main 分支)的本地分支,过滤掉当前分支(*)和 main、develop 节点,避免删除它们,一次安全地删除剩余的每个分支 @ciaclean: git branch --merged origin/main | grep -vE "^\s*(\*|main|develop)" | xargs -n 1 git branch -d # 统计代码量(支持文件名包含空格) cloc range="": cd {{root}} && python lib/generated/time_taken_sum.py && echo "\n" cd {{invocation_directory()}} && git ls-files -z \ {{ if range != "all" { "| grep -z -v '^test/'" } else { "" } }} \ | xargs -0 cloc # === just 管理命令 === import? "justfile.local" bashrc := "$HOME/.bashrc" # 设置 just 的命令补全 @setup-completions: # 检查是否已经存在补全命令 cmd="eval \"\$(just --justfile {{justfile()}} --completions bash)\""; \ if ! grep -Fxq "$cmd" "{{bashrc}}"; then \ echo '添加 just 补全到 {{bashrc}}'; \ echo $cmd >> "{{bashrc}}"; \ else \ echo "补全命令已存在 {{bashrc}},无需重复添加"; \ echo "执行命令 source {{bashrc}} ,使之生效"; \ fi