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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)