git 一次性拉取所有分支并缓存到本地 & 一次性push本地分支到远端
2023-12-06 tech git 1 mins 472 字
#!/bin/bash
REMOTE_NAME="origin"
cd xxx # 进入目录
REMOTE_BRANCHES=$(git ls-remote --heads $REMOTE_NAME | awk -F/ '{print $3}')
for branch in $REMOTE_BRANCHES; do
if git show-ref --verify --quiet "refs/heads/$branch"; then
# 如果已存在,则直接拉取远程分支内容
git checkout -f $branch
git pull $REMOTE_NAME $branch
else
# 如果不存在,则新建本地分支并拉取远程分支内容
git checkout -f -b $branch $REMOTE_NAME/$branch
git pull $REMOTE_NAME $branch
fi
done
echo "批量创建分支完成。"