Awesome Sysadmin运维脚本库:Bash实用工具合集

Awesome Sysadmin运维脚本库:Bash实用工具合集

【免费下载链接】awesome-sysadmin A curated list of amazingly awesome open-source sysadmin resources. 【免费下载链接】awesome-sysadmin 项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-sysadmin

你是否还在为Git仓库分支混乱而烦恼?手动清理分支时担心误删重要代码?本文将带你深入了解git-branch-cleanup.sh这款实用脚本,让你轻松掌握分支管理技巧,提升运维效率。读完本文,你将学会如何安全清理本地分支、自动拉取最新代码、保护关键分支,以及清理远程跟踪分支。

脚本功能概览

git-branch-cleanup.sh是Awesome Sysadmin项目中的一款Bash脚本工具,主要用于自动化清理Git仓库中的冗余分支。它具备以下核心功能:

  • 自动检测当前目录是否为Git仓库
  • 拉取最新代码确保分支信息同步
  • 列出所有本地分支供用户查看
  • 保护指定的关键分支不被删除
  • 安全删除可清理的分支
  • 清理已合并的远程跟踪分支

脚本工作流程

以下是脚本的工作流程图,展示了从仓库检测到分支清理的完整过程:

mermaid

关键代码解析

仓库检测机制

脚本首先会检查当前目录是否存在.git文件夹,确保在Git仓库中执行操作:

if [ ! -d .git ]; then
  echo "错误: 当前目录不是Git仓库"
  exit 1
fi

这段代码通过-d .git判断.git目录是否存在,如果不存在则输出错误信息并退出脚本,避免在非Git仓库中执行后续操作。

分支保护策略

脚本定义了一个保护分支数组,确保关键分支不会被误删:

PROTECTED_BRANCHES=("main" "master" "dev")

你可以根据实际需求修改这个数组,添加需要保护的分支名称。

分支筛选逻辑

通过grepawk命令筛选出可删除的分支:

BRANCHES_TO_DELETE=$(git branch | grep -v "^*" | awk '{print $1}' | grep -vwF "${PROTECTED_BRANCHES[@]}")

这段命令的作用是:

  1. git branch列出所有本地分支
  2. grep -v "^*"排除当前所在分支
  3. awk '{print $1}'提取分支名称
  4. grep -vwF排除保护分支

用户确认机制

在执行删除操作前,脚本会提示用户确认,防止误操作:

read -p "\n确定要删除这些分支吗? (y/N) " -n 1 -r
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
  echo -e "\n取消删除"
  exit 0
fi

这种交互式设计增加了操作的安全性,让用户有机会检查待删除分支列表。

使用方法

基本使用步骤

  1. 进入项目目录:cd GitHub_Trending/aw/awesome-sysadmin
  2. 赋予脚本执行权限:chmod +x git-branch-cleanup.sh
  3. 运行脚本:./git-branch-cleanup.sh

自定义保护分支

编辑git-branch-cleanup.sh文件,修改PROTECTED_BRANCHES数组:

# 修改前
PROTECTED_BRANCHES=("main" "master" "dev")

# 修改后
PROTECTED_BRANCHES=("main" "master" "dev" "release")

添加"release"分支到保护列表,防止其被误删。

注意事项

  1. 执行脚本前,请确保已提交所有重要更改,避免数据丢失
  2. 定期运行脚本可以保持仓库整洁,建议每月至少执行一次
  3. 对于多人协作项目,删除分支前最好与团队成员确认
  4. 脚本仅删除本地分支,不会影响远程仓库

相关资源

通过使用git-branch-cleanup.sh脚本,你可以告别繁琐的手动分支管理,让Git仓库保持整洁高效。如果你有其他实用的运维脚本,欢迎贡献到Awesome Sysadmin项目,共同丰富这个运维工具库。记得点赞收藏本文,关注项目更新,获取更多实用运维工具!

【免费下载链接】awesome-sysadmin A curated list of amazingly awesome open-source sysadmin resources. 【免费下载链接】awesome-sysadmin 项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-sysadmin

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值