git_move.sh 脚本用于把git,从旧仓库,迁移到新仓库
git_move.sh 支持两个参数:源仓库地址,目的仓库地址
执行示例:
sh git_move.sh git@git.xxxx/test.git ssh://git@jr.xxxx.com/test.git
脚本执行前,必须确保如下几点:
1.目的仓库已经建好
2.源仓库与目的仓库,必须同时拥有权限
3.目的仓库必须是空仓库
sh git_move.sh 源仓库地址 目的仓库地址
git_move.sh 脚本内容
#!/bin/bash
gitFrom=$1
gitTo=$2
if [[ "${gitFrom}" == "" ]]; then
echo "没有设置源仓库"
exit
fi
if [[ "${gitTo}" == "" ]]; then
echo "没有设置迁移后的仓库"
exit
fi
## 进入仓库目录
projectPath=${gitFrom##*/}
if [[ -d "${projectPath}" ]]; then
echo "源仓库拉取过,在 ${projectPath} 目录,不再重新拉取"
else
## 拉取旧源
git clone --bare ${gitFrom}
fi
cd ${projectPath}
## 推送到新源
git push --mirror ${gitTo}