Shell之获取指定目录下所有项目的GIT分支名称

本文介绍了一个在Mac环境下使用的Shell脚本,该脚本能够帮助开发者批量删除Git远程分支。通过遍历指定路径下的所有项目,列出并操作每个项目的分支,特别排除了master和HEAD分支。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考:

Mac下Shell脚本使用

来一个批量删除 git 远程分支的 shell 脚本
#$0 为执行的文件名,$1 第一个参数
echo "param 1 is $1"

project_path="$1"
echo "project_path is $project_path"
cd $project_path;
pwd

echo "遍历$project_path下的子目录以及文件"

for file in $project_path/*
do
    if test -f $file
    then
        echo $file 是文件
    fi
    if test -d $file
    then
        echo $file 是目录
    fi
done

echo ""
echo "遍历$project_path下所有项目的所有分支"

for file in $project_path/*
do
    if test -d $file
    then
        echo ""
        echo ""
        echo $file 是目录
        cd $file;
        pwd

        all_branchs=`git branch -a`;
        
        for branch in $all_branchs;
        do
            branch_simple_name=`echo $branch | grep '/' | cut -d '/' -f3`

            if [[ "" !=  "$branch_simple_name"
                    && "HEAD" != "$branch_simple_name" 
                    # master 分支除外
                    && "master" != "$branch_simple_name" 
                    ]]; then
                echo "branch_simple_name is  $branch_simple_name, $branch --->> " $branch_simple_name;
            fi;
        done;
    fi
done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值