git拉取、推送所有分支及标签

从origin1推送到origin2

git push origin2 'refs/remotes/origin1/*:refs/heads/*'

# 推送后带有后缀demo01
git push origin2 'refs/remotes/origin1/*:refs/heads/demo01/*'

# 推送指定分支
git push origin2 'refs/remotes/origin1/dev:refs/heads/dev'

拉取所有分支到本地

git branch -r | grep -v '\->' | while read remote; do git branch --track "${remote#origin/}" "$remote"; done
git fetch --all
git pull --all

拉取所有标签到本地

git fetch origin --prune

切换远程仓库

推送所有分支

git push --mirror

推送所有标签

git push origin --tags

git迁移脚本

#!/bin/bash

export oldUrl=$1
export newUrl=$2
export repoName=$3

printf "oldUrl: %s\nnewUrl: %s\nrepoName: %s\n" $oldUrl $newUrl $repoName

[[ -z "${oldUrl}" ]] && echo "不能为空" && exit
[[ -z "${newUrl}" ]] && echo "不能为空" && exit
[[ -z "${repoName}" ]] && echo "不能为空" && exit

printf "克隆原仓库"
cd repo || exit
git.exe clone --progress -v "${oldUrl}"
cd ${repoName} || exit
#git branch -r | grep -v '\->' | while read remote; do git branch --track "${remote#origin/}" "$remote"; done
#git fetch --all
#git pull --all
#git fetch origin --prune


# 原仓库
# dev -> dev-origin

# git remote change new repo
echo "增加新仓库"
git remote rename origin origin-old
git remote add origin "${newUrl}"

echo "拉取所有仓库分支"
git fetch origin
git fetch origin-old

echo "删除本地dev分支"
git branch -D dev





# origin/dev -> origin/dev-bak
echo "备份分支"
git checkout -b dev-origin origin-old/dev
git checkout -b dev-yanshi4-11 origin-old/yanshi4-11
git checkout -b dev-bak origin/dev

echo "新仓库切出dev分支"
git checkout -b dev origin/dev

echo "复制ci配置到临时文件"
mkdir -p ../tmp/ || exit
cp .gitlab-ci.yml Dockerfile ../tmp/ || exit

echo "切回旧仓库dev分支"
git checkout master
git branch -D dev
git checkout -b dev origin-old/yanshi4-11

echo "配置ci配置"
mv -f ../tmp/* ./ || exit
mv -f ../tmp/.gitlab-ci.yml ./  || exit
git add .
git commit -m "ci适配"

echo "删除旧仓库远程配置,防止误删"
git remote remove origin-old


echo "推送所有分支"
git push --progress "origin" dev-origin
git push --progress "origin" dev-yanshi4-11
git push --progress "origin" dev-bak
git push --force --progress "origin" dev:dev

posted @ 2022-02-10 17:57  小小记录本  阅读(3608)  评论(0编辑  收藏  举报