用途:finish-feature 用于完成一个功能分支的工作并将其合并回主分支,适合用户想结束功能、关闭功能或合并功能分支的场景。
主要能力与流程:先运行 git branch --show-current 验证当前分支;若在 main/master 上则询问要合并哪个功能分支,若在功能分支上则确认该分支。接着运行 git status 检查工作目录,若有未提交更改则询问提交还是暂存,干净则继续。用 FEATURE_BRANCH=$(git branch --show-current) 保存功能分支名,确定主分支(git branch --list main master)后执行 git checkout main(或 master),再 git pull origin main(或 master)。随后 git merge $FEATURE_BRANCH 合并;若冲突,通过 git status 列出文件并等待用户解决,用户用 git add . 加 git commit 处理。之后 git push origin main(或 master)。最后询问是否删除分支:本地用 git branch -d $FEATURE_BRANCH,远程用 git push origin --delete $FEATURE_BRANCH。完成后输出合并的分支名、推送状态和删除状态。
限制:合并前必须先拉取主分支;切换分支前需确认工作目录干净;绝不强制推送到主分支;冲突由用户解决;删除分支前必须询问用户。
示例:用户说“Finish user-auth feature”,在 feature/user-auth 上且 git status 干净时,执行 git checkout main && git pull origin main,再 git merge feature/user-auth && git push origin main,询问删除分支并确认后输出“Feature 'user-auth' merged to main, pushed, branch deleted”。