当前位置: 首页 > news >正文

Git版本管理(05) git仓库迁移(保留原来记录分支体系)

说明:本文主要是一次git迁移仓库的实战记录。


1 迁移前的准备

仓库迁移前,需要将所有有必要的分支checkout到本地(想要转移到新仓库的分支就都 checkout一遍),接下来将old仓库从远程仓库克隆到本地:

$git clone git@xxx.xxx.xxx.xxx:xxx_old.git

注意:这里要把需要后面同步到新仓库的素有分支都在本地checkout一份,便于迁移时把分支一起提交上去。

2 开始迁移

这里需要删除需要迁移的本地项目所关联的远程仓库地址并关联新仓库的地址,具体如下:

#删除需要迁移的本地项目
$git remote remove origin
#关联新仓库
$git remote add origin git@xxx.xxx.xxx.xxx:xxx_new.git
#把项目推送到新的远程仓库,一般来说是空项目,直接执行:
$git push --set-upstream origin master

3 版本commit信息和分支同步

将commit信息和分支信息同步到新的仓库中,具体如下:

#从原仓库地址克隆一份裸版本库
$git clone --bare git@xxx.xxx.xxx.xxx:xxx_old.git
#原仓库所有分支同步新仓库
$git push --mirror git@xxx.xxx.xxx.xxx:xxx_new.git

如果整个过程中提交的是分支branchA,则需要执行

$git pull --rebase origin branchA
$git push -u origin branchA
#git pull测试,确认commit对齐
$git pull 

测试至此完成仓库的迁移并保存了需要的原始记录和必要的分支。

http://www.lryc.cn/news/246087.html

相关文章:

  • 科技与教育:未来教育的新趋势
  • E云管家微信群聊机器人开发
  • CVE-2023-27524:Apache Superset未授权访问漏洞复现
  • 机器学习——多元线性回归升维
  • [C/C++]用堆实现TopK算法
  • 3D点云目标检测:VoxelNex解读(带源码/未完)
  • 【Docker】从零开始:11.Harbor搭建企业镜像仓库
  • 使用conan包 - 工作流程
  • 【LeeCode】59.螺旋矩阵II
  • rsyslog学习
  • Navicat 技术指引 | GaussDB服务器对象的创建/设计(编辑)
  • 有哪些可信的SSL证书颁发机构?
  • MidJourney笔记(4)-settings
  • 前端开发学习 (三) 列表功能
  • win11渗透武器库,囊括所有渗透工具
  • 13-21-普通数组、矩阵
  • 代码随想录算法训练营第四十六天【动态规划part08】 | 139.单词拆分、背包总结
  • go语言基础 break和contine区别
  • vue3父子组件通过$parent与ref通信
  • PHP中的常见的超全局变量
  • leetcode9.回文数
  • springboot(ssm大学生二手电子产品交易平台 跳蚤市场系统Java(codeLW)
  • 关于微信小程序中如何实现数据可视化-echarts动态渲染
  • 在Windows WSL (Linux的Windows子系统)上运行的Ubuntu如何更改主机名
  • 如何使用内网穿透将Tomcat网页发布到公共互联网上【内网穿透】
  • 网络入门---网络的大致了解
  • 构建沉浸式 AI 文本编辑器:开源 3B 编辑器的设计原则与思路
  • 【从删库到跑路 | MySQL总结篇】表的增删查改(进阶上)
  • [每周一更]-(第74期):Docker-compose 部署Jenkins容器-英文版及错误纠错
  • MySQL日期函数sysdate()与now()的区别,获取当前时间,日期相关函数