背景介绍
在大型软件开发项目中,我们经常会遇到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" ]; then
echo "try to del and remkdir [$clone_dir]"
sudo rm -rf "$clone_dir" || {
echo "clone -------- [$clone_dir] err - 1"; exit 1; }
fi
mkdir -p "$clone_dir" || {
echo "clone -------- [$clone_dir] err - 2"; exit 1