高效管理嵌套Git仓库:三合一脚本解决方案
背景介绍
在大型软件开发项目中,我们经常会遇到Git仓库嵌套的情况(即一个Git仓库中包含其他Git子仓库)。传统的手动管理方式效率低下,容易出错。本文将介绍三个精心设计的Shell脚本,帮助开发者高效扫描、克隆和更新嵌套Git仓库。
脚本功能解析
1. clone_dep_repo.sh - 智能克隆脚本
#!/bin/sh# 此脚本用于一键clone本SDK依赖的相关git仓库源码# 函数:初始化目录并克隆 Git 仓库, 如果任何步骤失败,则退出并打印错误位置
# 使用方法:setup_repo "相对于执行位置目录的目标文件夹相对路径" "要clone的git仓库地址" "对应要切换的分支名称"
# 分支名称可以不填,则不会执行切换分支操作
setup_repo()
{local clone_dir="$1"local git_url="$2"local branch_name="$3"local cur_dir="$(pwd)"echo "clone -------- [$clone_dir] start"# 检查并处理目录if [ -d "$clone_dir" ]; thenecho "try to del and remkdir [$clone_dir]"sudo rm -rf "$clone_dir" || { echo "clone -------- [$clone_dir] err - 1"; exit 1; }fimkdir -p "$clone_dir" || { echo "clone -------- [$clone_dir] err - 2"; exit 1