将代码迁移到另一个 GitLab 远程仓库(http://192.168.10.36/组名/项目名)项目名需要按照推送的项目来命名,可以按照以下步骤操作。

1. 添加新的远程仓库

首先,你需要在本地仓库中添加新的远程仓库地址。

1.1 查看当前远程仓库

运行以下命令,查看当前配置的远程仓库:

git remote -v

输出示例:显示了旧的地址

origin  https://192.168.10.30/组名/项目名 (fetch)origin  https://192.168.10.30/组名/项目名  (push)

1.2 添加新的远程仓库

运行以下命令,添加新的远程仓库地址:

git remote add new-gitlab https://192.168.10.36/组名/项目名 

new-gitlab 是远程仓库的名称,你可以自定义(例如 new-gitlab 或 gitlab2)。https://192.168.10.36/组名/项目名  是新的 GitLab 仓库地址。

1.3 验证远程仓库配置

再次运行以下命令,检查远程仓库是否添加成功:

git remote -v

输出示例:

origin  https://192.168.10.30/组名/项目名 (fetch)

origin  https://192.168.10.30/组名/项目名  (push)
new-gitlab  http://192.168.10.36/组名/项目名 (fetch)
new-gitlab  http://192.168.10.36/组名/项目名 (push)

2. 推送代码到新的远程仓库

将本地仓库的所有分支和标签推送到新的远程仓库。

2.1 推送所有分支

运行以下命令,推送所有分支:

git push new-gitlab --all

2.2 推送所有标签

运行以下命令,推送所有标签:

git push new-gitlab --tags

3. 验证推送结果

登录到新的 GitLab 仓库页面:http://192.168.10.36/组名/项目名检查以下内容:

分支:

进入 Repository > Branches,确认所有分支是否成功推送。

标签:

进入 Repository > Tags,确认所有标签是否成功推送。代码:检查代码文件是否完整。

4. 更新默认远程仓库(可选)

如果你希望将新的 GitLab 仓库设置为默认远程仓库,可以运行以下命令:

git remote set-url origin http://192.168.10.36/组名/项目名

然后删除旧的远程仓库配置(如果需要):

git remote remove origin

5、使用shell脚本批量迁移代码到新仓库

如果有很多代码要迁移到新仓库可以用以下脚本直接推送到新仓库

#!/bin/bash
# 定义 Git 仓库的基本 URL
#旧仓库地址
GITLIST_BASE_URL="http://admin@192.168.10.30/组名/"
新仓库地址
GITLAB_BASE_URL="http://192.168.10.36/组名"
# 仓库名称列表
REPOSITORIES=(
  "app.git"
  "......"
  "windo.git"
)
# 环境变量
GITLAB_USERNAME="新仓库用户名"
GITLAB_PASSWORD="密码"
# 循环克隆每个仓库
for REPO in "${REPOSITORIES[@]}"
do
  echo "正在克隆仓库: $REPO"
  git clone --mirror "$GITLIST_BASE_URL$REPO" || { echo "克隆仓库 $REPO 失败"; continue; }
  # 进入克隆的仓库目录
  if [ -d "$REPO" ]; then
    cd "$REPO"
  else
    echo "目录 $REPO 不存在,跳过推送"
    continue
  fi
  # 设置 GitLab 远程仓库
  git remote set-url origin "http://$GITLAB_USERNAME:$GITLAB_PASSWORD@192.168.10.36/组名/$REPO"
  # 推送所有内容到 GitLab
  echo "正在推送仓库 $REPO 到 GitLab"
  git push --mirror || echo "推送仓库 $REPO 到 GitLab 失败"
  # 返回上级目录
  cd ..
done
echo "所有仓库迁移完成!"

 

注意:需要先在远程地址建立新仓库才能将就地址的代码迁移至新仓库。

 

 

 

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐