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

本地转移新分支到新仓库

要将本地feat分支相对于main分支的所有提交转移到另一个仓库的main分支,可通过生成patch文件+应用patch的方式实现,具体步骤如下:

步骤1:在原仓库生成patch文件

在本地原仓库中,通过git format-patch命令导出feat分支相对于main分支的所有提交为patch文件(每个commit对应一个patch)。

  1. 切换到原仓库的feat分支(确保工作区干净,无未提交修改):

    git checkout feat
    
  2. 生成feat相对于main的所有commit的patch文件:

    # 格式:git format-patch 基准分支..目标分支 -o 输出目录
    git format-patch main..feat -o patches
    
    • main..feat:表示“feat分支比main分支多出来的所有提交”。
    • -o patches:指定将patch文件输出到当前仓库下的patches文件夹(方便管理,可自定义名称)。

    执行后,patches文件夹中会生成一系列以0001-xxx.patch0002-xxx.patch命名的文件(按提交顺序排列)。

步骤2:在新仓库应用patch文件

将生成的patch文件复制到新仓库,通过git am命令批量应用,保留原提交历史。

  1. 准备新仓库:
    拉取新仓库并切换到main分支(确保与原仓库的main分支基础一致,避免冲突):

    git clone <新仓库地址>  # 拉取新仓库
    cd <新仓库目录>
    git checkout main
    
  2. 复制patch文件到新仓库:
    将原仓库patches文件夹中的所有.patch文件复制到新仓库的任意目录(例如新仓库根目录)。

  3. 应用所有patch文件:
    在新仓库的main分支下,执行以下命令批量应用patch:

    # 假设patch文件在新仓库的patches目录下
    git am patches/*.patch
    
    • 如果应用过程中出现冲突,终端会提示冲突文件。解决冲突后,执行:
      git add <冲突文件>  # 标记为已解决
      git am --continue   # 继续应用剩余patch
      
    • 若需放弃应用,执行:git am --abort

结果说明

执行完成后,新仓库的main分支会包含feat分支相对于原仓库main分支的所有提交,且保留原提交的作者、时间、提交信息等完整历史。

关键命令总结

  • 生成patch:git format-patch main..feat -o patches
  • 应用patch:git am patches/*.patch
http://www.dtcms.com/a/511493.html

相关文章:

  • GaussDB慢sql信息收集和执行计划查看
  • AWS IoT Core 监控与告警优化实战报告
  • 我的第一个开源项目【IOT-Tree Server】
  • 如何选择合适的倾角传感器厂家的产品以满足物联网监测需求?
  • 基于物联网与云计算的园区能耗管理平台构建与实践
  • Markdown 用法要点
  • 网站搭建功能需求wordpress安装怎么填
  • 网络原理:TCP协议
  • timm教程翻译:(六)Data
  • VSCode + AI Agent实现直接编译调试:告别Visual Studio的原理与实践
  • 【设计模式】建造者模式(Builder)
  • DeepSeek-OCR:把长文本“挤进图片”的新思路
  • 计算机做网站开题报告网页的六个基本元素
  • AI服务器工作之整机部件(CPU+内存)
  • 【EE初阶 - 网络原理】网络层 + 数据链路层 + DNS
  • 关于二级网站建设西安网站制作一般多少钱
  • 【机器学习06】神经网络的实现、训练与向量化
  • [人工智能-大模型-25]:大模型应用层技术栈 - 大模型应用层的四大开发模式(如何利用大语言模型?)
  • YOLO目标检测:一种用于无人机的新型轻量级目标检测网络
  • 第六部分:VTK进阶(第166章 标量-向量-张量场管理)
  • A Survey of Camouflaged Object Detection and Beyond论文阅读笔记
  • 基于 hexo + github 的个人博客系统搭建
  • 成都私人做网站建设自由做图网站
  • 哈尔滨做网站找哪家好网站的在线支付怎么做
  • 使用pem和key文件给springboot开启https服务
  • XSS攻击防护完整指南
  • 基于Spring Boot的高校实习实践管理系统(源码+论文+部署+安装)
  • 第11篇:源码解析:Jackson核心流程与设计模式
  • 数据库原理实验报告:在ider里搭建mysql数据库
  • 面试(四)——Java 八大包装类、String 、日期类及文件操作核心类 File全解析