Git 本地仓库origin分支全部推送到其他远程
本地clone了仓库,但是需要把仓库对应远程origin中所有分支上传到另外一个仓库中
·
本地clone了仓库,但是需要把仓库对应远程origin中所有分支上传到另外一个仓库中gitee,原远程仓库已经无法访问;
# 本地clone了仓库,但是需要把仓库对应远程origin中所有分支上传到另外一个仓库中gitee
# 定义变量
SOURCE_REPO=origin
TARGET_REPO=gitee
# 获取所有分支
## show-ref 显示所有ref,通过 grep 进行过滤 ,通过awk及sed移除不必要的信息
brs=`git show-ref | grep -v HEAD | grep -E "refs/remotes/$SOURCE_REPO" | awk '{print $2}' |sed "s:refs/remotes/$SOURCE_REPO/::g"`
echo $brs
# 转换为数组
brs_array=( `echo $brs | tr "\n" " "` )
echo $brs_array
# 单个分支处理
for element in "${brs_array[@]}"
#也可以写成for element in ${brs_array[*]}
do
echo start work with $element
# checkout 到 detached 状态
git checkout "origin/$element"
# 命名新分支
git checkout -b "$element"
# 推送到 TARGET_REPO
git push $TARGET_REPO "$element":"$element"
done
更多推荐
已为社区贡献1条内容
所有评论(0)