Git仓库迁移过程

背景

需求:将项目需要整体迁移至阿里云的codeup

现状

所有的项目都在自搭的gitlab服务器

流程

  1. 备份当前服务器中的项目代码(以免出错)
  2. 在新的gitlab或codeup或gitee中创建新的代码库
  3. 修改当前服务器中项目的远程仓库地址
  4. 将项目代码推送至远程仓库

1. 备份

比如项目名称为server,执行命令将项目进行打包备份

zip server.zip server/*

2. 创建新的代码仓库

此步骤前往对应的git仓库建立即可

3. 生成及添加git秘钥

先看是否已存在

cat ~/.ssh/id_rsa

不存在则执行该命令进行生成,

ssh-keygen -t rsa -b 4096 -C "邮箱地址"

若存在可在生成时自己定义生成的位置,以防被覆盖,在:处自定义位置及名称

Generating public/private rsa key pair.
Enter file in which to save the key (~/.ssh/id_rsa):

一路回车即可,默认位置在 ~/.ssh/ 下,将对应文件夹下的公钥文件上传至对应的git中

4. 服务器中的秘钥冲突

在服务器拉取代码时显示git秘钥冲突,可在.ssh文件夹中生成config文件,具体配置如下

# 账号A
Host codeup_1
HostName codeup.aliyun.com
IdentityFile ~/.ssh/codeup_1
PreferredAuthentications publickey
User username1
  • HostName:填写托管平台服务地址;
  • Host:填写别名,方便命令行使用;
  • IdentityFile:填写证书(秘钥)位置;

配置完成后使用该命令查看配置是否生效

ssh -t git@codeup_1

拉取代码时使用对应的host即可使用对应的秘钥,如:

git clone git@codeup_1:XXX.git

5. 修改项目远程地址

  1. 清除known_hosts对应的之前的地址,known_hosts作用为ssh会把每个你访问过计算机的公钥(publickey)都记录在known hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告,避免你受到DNS Hijack之类的攻击。所以需要清楚之前记录的信息,该文件在~/.ssh文件夹中,建议清楚前先做备份
  2. 进入项目中
    2.1 查看当前项目远程仓库
    git remote -v
    
    2.2 清除当前项目的远程仓库
    git remote remove origin
    
    2.3 添加新的git远程仓库地址
    git remote add origin 地址
    

6. 将项目推送至远程仓库中

git push -u origin --all

你可能感兴趣的:(Git,git,linux,github)