批量更新本地代码仓库信息
2023/8/25小于 1 分钟
前言
本地仓库项目很多,信息又不是最新,自己又不想重新拉取项目。
所以就整了一个批量更新本地代码仓库信息脚本,记录一下。
代码
# 当前目录
basedir=`pwd`
master="master"
mybranch="mybranch"
for dir in $(ls $basedir); do
if [ -d $basedir/$dir ]; then
branch=`cd $basedir/$dir && git branch | sed -n '/\* /s///p'`
yes="y"
if [[ $branch != $master && $branch != $mybranch ]]; then
read -p "update $basedir/$dir -- $branch: y/n/f" yes
fi
# 切换到master分支,并删除原分支
if [[ $yes = 'f' ]] && [[ $branch != $master && $branch != $mybranch ]]; then
cd $basedir/$dir && git branch -D master
cd $basedir/$dir && git checkout -b master origin/master && git remote update origin --prune
cd $basedir/$dir && git branch -D $branch
fi
# 更新分支信息
if [[ $yes = 'y' ]] && [[ $branch = $master || $branch = $mybranch ]]; then
echo "开始更新仓库【$dir】..."
cd $basedir/$dir && git pull origin master && git remote update origin --prune
echo "更新仓库【$dir】完成"
fi
fi
done