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

Git 工程迁移指南

Git 工程代码迁移完整指南

将 Git 代码仓库从一个位置迁移到另一个位置(如跨平台迁移或改变存储路径)需要保存完整历史记录和分支结构,以下是专业高效的迁移流程:

📌 核心迁移流程(完整历史保留)

1. 克隆源仓库(包含所有分支和历史)

git clone --mirror <source-repo-url> 
cd <repo-name>.git

2. 添加目标仓库作为新的远程地址

git remote add target <target-repo-url>

3. 推送完整历史到目标仓库

git push target --mirror

💡 不同场景下的迁移方案

场景1:平台间迁移 (GitHub → GitLab)

GitHub → GitLab 完整迁移

git clone --mirror https://github.com/user/repo.git
cd repo.git
git remote add gitlab https://gitlab.com/user/new-repo.git
git push gitlab --mirror

场景2:迁移到新目录(保留所有分支)

本地仓库迁移到新路径

cd old-project
git clone --mirror file://$(pwd) ../new-project
cd ../new-project
git remote set-url origin <new-remote-url>
git push --mirror

场景3:迁移特定分支(非完整迁移)

仅迁移master和develop分支

git clone --single-branch --branch master <source-url> 
git remote add target <target-url>
git push target master
git push target develop

🛠️ 迁移后验证(关键步骤)

检查分支完整性

git branch -a
git tag -l

验证提交历史

git log --oneline --graph --all

确认文件完整性

git checkout master
git fsck --full

🌟 高级迁移技巧

  1. 子模块迁移

    git submodule update --init --recursive
    git push --recurse-submodules=on-demand target --all
    
  2. 大文件迁移优化

    git lfs fetch --all
    git lfs push target --all
    
  3. 保存仓库配置

    cp .git/config config.backup
    

🔍 常见问题解决

问题1:LFS对象迁移失败

强制重新上传LFS

git lfs push target --force --all

问题2:权限验证失败

使用SSH密钥替代HTTPS

git remote set-url target git@github.com:user/repo.git

问题3:迁移后分支不显示

更新远程引用

git remote update target --prune
http://www.dtcms.com/a/321096.html

相关文章:

  • 如何在 Ubuntu 24.04 LTS 或 22.04/20.04 上安装 Apache Maven
  • ORACLE物化视图快速刷新失败原因查找
  • Oracle 的 exp(传统导出工具)和 expdp(Data Pump 导出工具)是两种命令对比
  • Python合并两个PDF文件
  • 汽车专题 | 视觉AI正在重构整车质检格局
  • OpenAPI(Swagger3)接口文档自定义排序(万能大法,支持任意swagger版本)
  • 基于AI MCP协议, 写一个MCP服务用于连接数据库执行sql
  • PostgreSQL技术大讲堂 - 第100讲:玩转PG数据库对象权限卷之迷宫
  • Langchain入门:构建一个基于SQL数据的问答系统
  • DM8数据库服务正常,但是登录报错 [-70019]:没有匹配的可登录服务器
  • 项目历程—可视化文件系统
  • ESP32-menuconfig(2) -- Application manager
  • MyBatis SQL映射与动态SQL:构建灵活高效的数据访问层 MyBatis SQL映射与动态SQL:构建灵活高效的数据访问层
  • wodpress结构化数据对SEO的作用
  • 【重磅发布】flutter_chen_keyboard -专注于键盘相关功能
  • Flutter多引擎架构下原生通信的模块化封装与性能优化
  • Spring AI将存量接口转化为MCP服务(附源码)
  • MES系统是什么?从核心功能到行业应用,打造智能制造新引擎
  • nlp-语义分析
  • 全面了解svm
  • 从零开始将项目镜像部署到离线Windows服务器的完整流程
  • ADB打印设备日志相关
  • GPT-5 全面解析与 DeepSeek 实战对比:推理、工具调用、上下文与成本
  • 十三、抽象队列同步器AQS
  • luckfox开发板的usb口作为串口使用
  • 【matlab】采样信号的低通滤波、高通滤波
  • SVN下载及安装(保姆级别)
  • 【网络运维】Linux:MariaDB 数据库介绍及管理
  • 6、图片上方添加波浪效果
  • 深入探索 PDF 数据提取:PyMuPDF 与 pdfplumber 的对比与实战