热门角色不仅是灵感来源,更是你的效率助手。通过精挑细选的角色提示词,你可以快速生成高质量内容、提升创作灵感,并找到最契合你需求的解决方案。让创作更轻松,让价值更直接!
我们根据不同用户需求,持续更新角色库,让你总能找到合适的灵感入口。
本提示词专为版本控制场景设计,能够根据项目特定事件自动生成标准化的分支清理流程。通过结构化的工作流程和专业技术规范,确保清理操作的安全性与可追溯性。输出内容包含风险评估、操作步骤和验证机制,适用于发布完成、功能合并等关键里程碑后的分支管理需求,帮助团队维护代码库的整洁与稳定性。
适用范围:远端与本地 Git 仓库;目标分支类型为 feature/(特性分支)与 release/(发布分支)。流程基于通行的 Git 分支管理规范(GitHub/GitLab/Bitbucket 等均适用),保证所有操作可逆、可验证、可审计。
# 参数
DEFAULT_BRANCH=main
REMOTE=origin
git fetch --all --prune --tags
# 候选特性分支(已合并入默认分支)
git branch -r --merged $REMOTE/$DEFAULT_BRANCH --list "$REMOTE/feature/*" | wc -l
# 候选发布分支(已合并入默认分支)
git branch -r --merged $REMOTE/$DEFAULT_BRANCH --list "$REMOTE/release/*" | wc -l
仓库与权限检查
git status 无未提交/未暂存修改发布完整性与一致性
git show <RELEASE_TAG>git branch -r --merged origin/main --list "origin/release/*"特性分支合并状态
git branch -r --merged origin/$DEFAULT_BRANCH --list "origin/feature/*"git merge-base --is-ancestor <feature-tip> origin/$DEFAULT_BRANCH 返回 0 表示已合并git cherry -v origin/$DEFAULT_BRANCH <feature-branch> 无输出表示已合并依赖关系与外部引用
审批与记录
说明:
git push <remote> --delete <branch>。步骤 0:参数设置与同步
DEFAULT_BRANCH=main
REMOTE=origin
ARCHIVE_TAG_PREFIX=archive/$(date +%Y%m%d) # 归档标签前缀(含日期)
git fetch --all --prune --tags
git checkout $DEFAULT_BRANCH
git pull $REMOTE $DEFAULT_BRANCH
步骤 1:生成待清理分支清单(审阅用)
# 待清理特性分支(已合并默认分支)
git branch -r --merged $REMOTE/$DEFAULT_BRANCH --list "$REMOTE/feature/*" \
| sed "s# *$REMOTE/##" | sort | tee /tmp/feature_to_clean.txt
# 待清理发布分支(已合并默认分支)
git branch -r --merged $REMOTE/$DEFAULT_BRANCH --list "$REMOTE/release/*" \
| sed "s# *$REMOTE/##" | sort | tee /tmp/release_to_clean.txt
git tag --points-at $(git rev-parse origin/<release-branch>)步骤 2:为每个待删除分支创建归档标签(确保可逆)
while read BR; do
TIP=$(git rev-parse $REMOTE/$BR)
SAFE_TAG_NAME=$(echo "$BR" | tr '/' '_' ) # 标签不建议与分支同名,避免混淆
git tag -a "$ARCHIVE_TAG_PREFIX-feature-$SAFE_TAG_NAME" $TIP -m "Archive feature $BR before deletion"
done < /tmp/feature_to_clean.txt
git push --tags
while read BR; do
TIP=$(git rev-parse $REMOTE/$BR)
SAFE_TAG_NAME=$(echo "$BR" | tr '/' '_' )
# 若已有正式发布标签(例如 vX.Y.Z),此处仍创建归档标签以保留删除前分支尖端的可追溯性
git tag -a "$ARCHIVE_TAG_PREFIX-release-$SAFE_TAG_NAME" $TIP -m "Archive release branch $BR before deletion"
done < /tmp/release_to_clean.txt
git push --tags
说明:
步骤 3:删除远端分支(先小批量再全量)
# 示例:删除一个特性分支与一个发布分支(请替换为清单中的实际分支名)
git push $REMOTE --delete feature/xxx
git push $REMOTE --delete release/1.2.3
# 批量删除特性分支(逐行执行,便于中途停止)
while read BR; do
git push $REMOTE --delete "$BR"
done < /tmp/feature_to_clean.txt
# 批量删除发布分支
while read BR; do
git push $REMOTE --delete "$BR"
done < /tmp/release_to_clean.txt
步骤 4:清理本地与远端跟踪引用
git fetch --all --prune
git remote prune $REMOTE
# 可选:删除本地同名分支与跟踪分支(需先切换回默认分支)
git checkout $DEFAULT_BRANCH
# 安全删除本地分支(仅在确认已合并时,-d 会阻止删除未合并分支)
while read BR; do
LOCAL_BR=${BR#*/} # 去掉前缀(如 origin/feature/x -> feature/x)
git branch -d "$LOCAL_BR" 2>/dev/null || true
git branch -dr "$REMOTE/$LOCAL_BR" 2>/dev/null || true
done < <(cat /tmp/feature_to_clean.txt; cat /tmp/release_to_clean.txt)
步骤 5:记录与公告
成功标准
# 应无输出
comm -12 <(git ls-remote --heads $REMOTE | awk '{print $2}' | sed 's#refs/heads/##' | sort) \
<(cat /tmp/feature_to_clean.txt /tmp/release_to_clean.txt | sort)
git show $ARCHIVE_TAG_PREFIX-feature-* >/dev/null
git show $ARCHIVE_TAG_PREFIX-release-* >/dev/null
# 示例:验证某个归档标签是否指向先前的 tip
git cat-file -t $ARCHIVE_TAG_PREFIX-feature-*
异常处理
回滚方案(可逆保障)
# 恢复特性分支示例
git checkout -b feature/xxx $ARCHIVE_TAG_PREFIX-feature-feature_xxx
git push $REMOTE feature/xxx
git checkout -b release/1.2.3 $ARCHIVE_TAG_PREFIX-release-release_1.2.3
git push $REMOTE release/1.2.3
风险控制
最佳实践(基于行业通行做法)
命令安全
git push <remote> --delete <branch>git branch -d <branch>,由 Git 进行安全校验以上流程可直接用于“零售云结算服务”在“版本发布完成”后的特性分支与发布分支清理,确保历史留痕、可逆可查,并与常用 Git 托管平台的规范一致。
说明:整个流程以“验证已集成且可回滚”为原则,执行前创建归档标记(tag),禁用强制删除,确保全程可逆。
说明:
步骤 0:环境准备
步骤 1:同步远程与定义变量
git fetch --all --prune
# 可能的基线(按项目实际确定):
BASE_CANDIDATES=("develop" "main")
# 归档标签命名前缀(可按团队规范调整)
ARCHIVE_PREFIX="archive/branch"
# 日期戳
TS=$(date +%Y%m%d)
步骤 2:枚举候选分支(特性/实验性)
# 根据常见命名约定收集远程候选
git branch -r --list \
"origin/feature/*" \
"origin/feat/*" \
"origin/experiment/*" \
"origin/exp/*" > .candidates.txt
说明:若无统一命名,可结合组件目录、团队规则调整通配符;最终以内容校验为准。
步骤 3:基线存在性检查
> .bases.txt
for b in "${BASE_CANDIDATES[@]}"; do
if git show-ref --verify --quiet "refs/remotes/origin/$b"; then
echo "origin/$b" >> .bases.txt
fi
done
# 至少应存在一个基线
test -s .bases.txt
步骤 4:合并状态与内容等价验证(自动筛选可删清单)
> .deletable.txt
> .needs_review.txt
while read -r rb; do
# 远程分支短名,如 origin/feature/x -> feature/x
short="${rb#origin/}"
# 跳过无效引用
git show-ref --verify --quiet "refs/remotes/$rb" || continue
integrated=0
while read -r base; do
# 方式A:祖先关系(适用于FF/rebase合并)
if git merge-base --is-ancestor "refs/remotes/$rb" "$base"; then
integrated=1
break
fi
# 方式B:内容等价(适用于squash合并)
# 无差异则认为功能已集成
if git diff --quiet "$base...refs/remotes/$rb"; then
integrated=1
break
fi
done < .bases.txt
if [ $integrated -eq 1 ]; then
echo "$rb" >> .deletable.txt
else
echo "$rb" >> .needs_review.txt
fi
done < .candidates.txt
说明:
步骤 5:依赖与PR状态人工复核(必选)
步骤 6:为每个可删分支创建归档标签(可回滚保障)
while read -r rb; do
short="${rb#origin/}"
head_sha=$(git rev-parse "refs/remotes/$rb")
# 创建带注解的归档标签,包含分支、来源、时间戳
tag="${ARCHIVE_PREFIX}/${short//\//_}-$TS"
git tag -a "$tag" "$head_sha" -m "Archive before deletion: $short at $head_sha on $TS (project: smart-home-gateway)"
# 推送单个归档标签
git push origin "refs/tags/$tag"
done < .deletable.txt
步骤 7:删除远程分支(安全删除)
while read -r rb; do
short="${rb#origin/}"
# 远程删除(非强制)。若远程保护启用,平台将拒绝,需按变更流程解除保护后再执行。
git push origin --delete "$short"
done < .deletable.txt
步骤 8:清理本地与远程跟踪引用
# 清理已失效的远程跟踪引用
git fetch --prune
git remote prune origin
# 可选:删除本地对应分支(若存在且已合并)
# 注:-d 为安全删除,未合并将被拒绝;不使用 -D。
while read -r rb; do
short="${rb#origin/}"
if git show-ref --verify --quiet "refs/heads/$short"; then
git branch -d "$short" || true
fi
done < .deletable.txt
步骤 9:产出统计与记录
echo "Candidates: $(wc -l < .candidates.txt)"
echo "Deletable: $(wc -l < .deletable.txt)"
echo "Review: $(wc -l < .needs_review.txt)"
成功标准
异常处理
以上流程严格遵循Git常见工作流与安全删除原则,确保特性分支、实验性分支在“功能合并完成”后进行可控、可回滚的清理。
适用范围:Git 仓库;分支类型 hotfix/(修复分支)、release/(发布分支);主干分支 main,集成分支 develop(如不同,请按实际替换变量)。
变量建议:
请在只读模式下完成所有检查,任何删除操作不得在通过全部检查前执行。
若任何检查未通过:暂停清理,补齐合并/标签/验证,或将分支移出候选清单。
说明:
步骤 0:设置变量并同步
步骤 1:确认最终待清理清单(人工复核)
步骤 2:为每个待删除分支创建备份标签(可逆性)
步骤 3:本地安全删除(如存在对应本地分支)
步骤 4:远程删除分支(确认后执行)
步骤 5:删除后同步与清理引用
成功标准
异常处理
以上流程遵循常见 Git 工作流与业界规范,避免使用强制删除命令,所有删除操作在“已合并 + 已备份标签 + 已验证”的前提下进行,并提供可逆的恢复路径。
以极低学习成本,帮助研发团队在“版本发布完成、功能合并落地、热修复收尾”等关键节点,快速生成一份可直接执行的分支清理流程文档。该流程覆盖风险评估、检查清单、分步操作、验证与回滚,确保清理安全可控、过程可追溯、结果可验收,减少跨团队沟通与反复对齐,显著降低误删与遗漏带来的交付风险。
在版本发布或里程碑结束后,快速生成并审核分支清理方案,量化影响与风险,安排执行窗口,保障主干与生产环境稳定。
根据生成的步骤清理特性、修复与临时分支,按验证与回滚提示处理异常,减少沟通反复,专注迭代开发。
将标准流程纳入例行任务或流水线,统一权限与保护策略,沉淀操作记录,提升可追踪性与团队一致性。
将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。
把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。
在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。
半价获取高级提示词-优惠即将到期