腾讯coding代码迁移至自建gitlab
第一次是全量的导出和导入,后续源有更新可以执行增量,一旦迁移完成之后就不要再执行了,会误删gitlab里的更新。2、需要建立本地到本地自建gitlab的git@的信任关系。1、需要建立本地到腾讯coding的git@的信任关系。
·
一、信任关系建立
1、需要建立本地到腾讯coding的git@的信任关系
2、需要建立本地到本地自建gitlab的git@的信任关系
二、准备脚本(支持增量(新增/删除)变更)
[root@ecs-gitlab Android]# cat Android.sh
#!/bin/bash
# 读取仓库映射关系
while read -r REPO_URL_CODING REPO_URL_GITLAB
do
# 提取仓库名作为目录名
REPO_NAME=$(basename "$REPO_URL_CODING")
# 如果目录不存在,首次克隆为镜像仓库
if [ ! -d "$REPO_NAME" ]; then
echo "首次克隆仓库: $REPO_URL_CODING"
git clone --mirror "$REPO_URL_CODING" "$REPO_NAME"
cd "$REPO_NAME" || continue
git remote set-url --push origin "$REPO_URL_GITLAB"
else
echo "更新已有镜像仓库: $REPO_NAME"
cd "$REPO_NAME" || continue
git fetch --prune
fi
# 推送所有更新到 GitLab(只推送变化的部分)
echo "推送更新到 GitLab: $REPO_URL_GITLAB"
git push --mirror
cd ..
done < Android_list
[root@ecs-gitlab Android]# cat Android_list
git@e.wanyanzhenjiang.net:dbbjt/dbblive/base_libs.git git@gitlab.wanyanzhenjiang.com:dbbjt/dbblive/base_libs.git
三、操作建议
第一次是全量的导出和导入,后续源有更新可以执行增量,一旦迁移完成之后就不要再执行了,会误删gitlab里的更新
更多推荐
所有评论(0)