39 lines
1.1 KiB
Bash
39 lines
1.1 KiB
Bash
#!/bin/bash
|
||
|
||
git fetch
|
||
|
||
# 要删除的远程分支完整名称列表,包含origin前缀
|
||
declare -a branches_to_delete_full=(
|
||
origin/feat/analysis-tyy
|
||
origin/feat/query_classify
|
||
)
|
||
|
||
# 远程仓库的名称,默认为origin
|
||
remote_name="origin"
|
||
|
||
# 函数,用于删除远程分支
|
||
delete_branch() {
|
||
local branch_name_with_origin=$1
|
||
# 去除origin前缀
|
||
local branch_name=$(echo "$branch_name_with_origin" | sed 's/^'"$remote_name"'\///')
|
||
|
||
if git show-ref --verify --quiet "refs/remotes/$branch_name_with_origin"; then
|
||
echo "正在删除远程分支: $branch_name"
|
||
git push "$remote_name" --delete "$branch_name" --no-verify
|
||
if [ $? -eq 0 ]; then
|
||
echo "远程分支 $branch_name 已被删除。"
|
||
else
|
||
echo "删除远程分支 $branch_name 失败,请检查分支名称或权限。"
|
||
fi
|
||
else
|
||
echo "分支 $branch_name 不存在,无需删除。"
|
||
fi
|
||
}
|
||
|
||
# 遍历分支列表并调用删除函数
|
||
for full_branch_name in "${branches_to_delete_full[@]}"; do
|
||
delete_branch "$full_branch_name"
|
||
done
|
||
|
||
echo "批量删除操作完成。"
|