git 一次性拉取所有分支并缓存到本地 & 一次性push本地分支到远端

#!/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 "批量创建分支完成。"

OpenAI政变背后是科学家创始人的悲歌 - 未来预言机 内网穿透 frp