Git 分支迁移完整指南(结合分支图分析)

基于分支图的当前状态分析

分支图关键信息解读

  1. 分支结构​:

    最旧提交
    5e99711:54 我的测试仓库项目 v1.00
    a5f7a7 81版本我的测试仓库二期
    dccc1171:56 旧有主分支
    fd508f1c 删除
    G3243d4c 空提交
    b82fd7b9 切为主分支的新分支
    最新提交: b1.00没有乱码文件
  2. 核心分支状态​:

    分支类型分支名称最新提交状态
    新主分支new-developmentb82fd7b9您创建的开发分支
    旧主分支masterdccc1171需要保留的历史分支
    待清理分支old-master未在图中显示重命名后需处理
  3. 操作关键点​:

    • 图中的​"切为主分支的新分支"​标注明确显示了您的目标分支 (b82fd7b9)
    • ​"旧有主分支"​​ (dccc1171) 需要被正确归档
    • 存在7个未提交更改(图中标注Uncommitted Changes (7)​

完整操作流程(结合图示)

步骤1:处理未提交更改

# 暂存当前工作区更改(图中显示7个未提交更改)
git add .
git commit -m "保存最后的修改 b1.00没有乱码文件"

步骤2:创建并切换到新分支结构

# 基于指定提交创建新分支(图中G3243d4c)
git checkout -b temp-branch G3243d4c# 重命名分支为开发主线
git branch -m temp-branch main

步骤3:迁移旧分支历史

# 标注旧主分支(图中dccc1171)
git branch archive/legacy-main dccc1171# 推送到远程存档
git push 我的测试仓库二期 archive/legacy-main

步骤4:建立新主分支(结合图中最新提交)

# 切换到图中最新提交 (b1.00没有乱码文件)
git checkout b82fd7b9# 创建永久主分支
git checkout -b production-main
git push -f 我的测试仓库二期 production-main

分支图优化建议

1. 规范化分支命名

- master
- old-master
+ main
+ archive/2025-08-legacy

2. 提交信息优化建议

# 坏例子:
git commit -m "删除"# 好例子:
git commit -m "refactor: 移除冗余配置文件 - JIRA-123"

3. 分支清理策略

# 定期清理合并后的分支
git branch --merged main | grep -v "main" | xargs git branch -d# 归档一年前的旧分支
git tag archive/2025-Q3-legacy archive/legacy-main
git push 我的测试仓库二期 --tags

迁移后分支图结构目标

graph RL
A[5e99711 v1.00] --> B[归档分支]
C[最新功能] --> D((生产主分支))
E[热修复] --> D
F[实验功能] --> G[|分离开发|]

团队协作更新步骤

  1. 通知所有成员​:

    # [重要] 分支结构调整通知
    自2025-08-06起:
    - 新主分支:`production-main`
    - 旧分支归档于:`archive/legacy-main`
    请立即执行以下命令更新:
    
  2. 成员执行命令​:

    git fetch --all --prune
    git checkout production-main
    git reset --hard 我的测试仓库二期/production-main
    
  3. CI/CD配置更新​:

    # .gitlab-ci.yml 修改示例
    deploy_production:only:
    
  •    - master
    
  •    - production-main
    

操作验证清单

  1. 分支一致性检查​:

    git log production-main -1
    # 应输出:b1.00没有乱码文件 (b82fd7b9)
    
  2. 历史完整性验证​:

    git show archive/legacy-main
    # 应显示旧主分支最后提交:dccc1171
    
  3. 远程同步确认​:

    git remote show 我的测试仓库二期
    # 应包含:
    #   production-main  tracked
    #   archive/legacy-main  tracked
    

常见问题解决方案

问题1:合并冲突处理

# 使用交互式重基解决
git rebase -i production-main
# 保留所需提交,丢弃冲突提交

问题2:意外删除恢复

# 从归档分支恢复文件
git checkout archive/legacy-main -- path/to/file

问题3:大型历史清理

# 使用BFG工具清理历史
java -jar bfg.jar --delete-files *.log --no-blob-protection my-repo.git

https://github.com/0voice

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/92340.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/92340.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小程序省市级联组件使用

背景。uni-data-picker组件用起来不方便。调整后级联效果欠佳&#xff0c;会关闭弹窗需要重新选择。解决方案。让cursor使用uniapp 原生组件生成懒加载省市级联 <template><view class"picker-cascader"><view class"cascader-label">&l…

Java技术栈/面试题合集(8)-Redis篇

场景 Java入门、进阶、强化、扩展、知识体系完善等知识点学习、性能优化、源码分析专栏分享: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/140870227 通过对面试题进行系统的复习可以对Java体系的知识点进行查漏补缺。 注: 博客: 霸道流氓气质-CSDN博…

川翔云电脑:引领开启算力无边界时代

一、何为云电脑&#xff1f;重新定义“主机”概念 云电脑将传统本地计算机的核心硬件资源&#xff08;CPU、GPU、内存、硬盘等&#xff09;集中部署于远程高性能数据中心&#xff0c;通过网络技术将虚拟桌面实时传输到您的任意访问设备上。 ​​如同将高配主机装入云端&#…

tc 介绍

目录 1.背景 2. tc介绍 3. tc 丢包 1.背景 需要使用tc 构造丢包场景&#xff0c;注意tc 丢包不能确定丢弃的是否是payload 数据包&#xff0c;有可能丢弃 ack 包。 2. tc介绍 1. 无法正常使用 [rootpool-100-1-1-18 /]# [rootpool-100-1-1-18 /]# tc qdisc add dev swif…

LabVIEW注册表操作

​本文围绕LabVIEW中操作Windows 注册表的 4 个 VI 展开&#xff0c;介绍其功能、使用场景等并对比&#xff0c;助力工程师高效运用注册表交互功能。各 VI 功能说明&#xff08;一&#xff09;Write the Key功能&#xff1a;创建新注册表键&#xff0c;设置其值&#xff0c;随后…

阿里云部署若依后,浏览器能正常访问,但是apifox和小程序访问后报错链接被重置

项目场景&#xff1a;阿里云部署若依后浏览器能正常通过https访问,但是在apifox和小程序调用接口的时候生报错E问题描述apifox报错&#xff1a;curl报错&#xff1a;通过curl可以清楚的看到通过域名是能准确的访问到IP地址的&#xff0c;说明这个DNS是没有问题的&#xff0c;但…

升级 Elasticsearch 到新的 AWS Java SDK

作者&#xff1a;来自 Elastic David Turner, Dianna Hohensee Elasticsearch 使用官方的 AWS Java SDK 集成了某些 Amazon Web Services (AWS) 功能。这些集成最早在近 10 年前发布的 Elasticsearch 2.0 版本中引入。 最近&#xff0c;AWS 宣布 Elasticsearch 过去十年使用的…

从0到1学习微服务项目黑马头条day01-《APP端登录功能实现》

个人主页&#xff1a;VON文章所属专栏&#xff1a;黑马头条个人唯一微信&#xff1a;微信 有一起学习微服务的小伙伴可以加作者微信&#xff1a;单击即可添加 目录 一、前言 二、项目概述 1、技术栈 2、项目引入 三、改造项目 1、创建heima-leadnews-user 2、创建实体…

Renesas Electronics RZ/V2N 评估套件

简介Renesas Electronics RZ/V2N评估套件采用RZ/V2N中档嵌入式AI微处理器 (MPU) 为嵌入式人工智能 (AI) 应用提供全面的开发平台。该评估套件包括两块板&#xff1a;主板 (RTK0EF0186C02000BJ)&#xff0c;紧凑的153mm x 100mm外形尺寸和RTK0EF0168B00000BJ扩展板。其核心是RZ/…

使用PHP与Apache实现服务器端文件管理

引言 作为前端开发者&#xff0c;你可能经常需要与服务器文件系统交互。本文将详细介绍如何通过PHP配合Apache实现服务器端文件管理功能。即使你没有任何PHP经验&#xff0c;也能按照本教程实现完整解决方案&#xff01; 系统准备 PHP下载与安装 访问PHP官网下载页面 选择与…

在Word和WPS文字中如何输入汉字的偏旁部首

如何在Word和WPS文字中输入偏旁部首&#xff1f;许多输入法会把常见的偏旁部首直接放到词库&#xff0c;对于词库中没有的可以试试这个方法&#xff1a;先输入一个有这个偏旁部首的字&#xff0c;尽量简单一点的&#xff0c;然后选中这个字插入-符号-其他符号。滚动到这个偏旁部…

day44 力扣1143.最长公共子序列 力扣1035.不相交的线 力扣53. 最大子序和 力扣392.判断子序列

最长公共子序列 给定两个字符串 text1 和 text2&#xff0c;返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 &#xff0c;返回 0 。 一个字符串的 子序列 是指这样一个新的字符串&#xff1a;它是由原字符串在不改变字符的相对顺序的情况下删除某些字符&…

应用7:用小白量化智能体金融模块做一个股票选股工具

应用7&#xff1a;用小白量化智能体金融模块做一个股票选股工具 【小白量化智能体】包含有丰富的金融模块。可以让智能体写各种金融量化工具。 我用让小白量化智能体写一个股票选股工具。 我们给【小白量化智能体】一个程序生成话术。 帮我写一个 选股 的应用程序&#xff0c;要…

Qt Frameless Widget跨平台无边框窗口

Qt开发的窗口程序&#xff0c;它的标题栏样式是无法修改的&#xff0c;这个是系统来控制&#xff0c;程序可以调整标题&#xff0c;图标等&#xff0c;但是各个系统可能表现不一致&#xff0c;比如说标题&#xff0c;window10下在标题栏最左边&#xff0c;而UOS则在中间&#x…

使用 IntelliJ IDEA + Spring JdbcTemplate 操作 MySQL 指南

使用 IntelliJ IDEA Spring JdbcTemplate 操作 MySQL 完全指南 一、开发环境搭建&#xff08;基于 IDEA&#xff09; 1. 创建 Spring Boot 项目 打开 IDEA → New Project → Spring Initializr选择&#xff1a; Project SDK: Java 17依赖项&#xff1a;Spring Web, Spring…

从愤怒的小鸟来看Unity武器拖尾的特效优化

目录 前言 素材下载 介绍 官方文档 不添加拖尾的效果 添加拖尾 代码控制拖尾生成 拖尾排序问题 效果 修改拖尾高度和存活时间 效果 待机时无拖尾 效果 参考 前言 在游戏开发过程中&#xff0c;我们经常需要为武器添加拖尾特效&#xff0c;效果如下所示 Unity 自…

Web开发模式 前端渲染 后端渲染 身份认证

Web 开发模式 # 目前主流的Web 开发模式 两种 一、基于 服务器端渲染 的传统 Web开发模式 二、基于 前后端分离 的新型 Web开发模式# 服务端渲染的优缺点# 优点&#xff1a;1. 前端耗时少因为服务端负责动态生成 HTML内容&#xff0c;浏览器&#xff08;包括手…

C++ WonderTrader 源码分析之浮点数处理

介绍 在WonderTrader的文件decimal.h中封装了一些用于浮点数&#xff08;double&#xff09;处理的工具函数&#xff0c;主要目的是解决浮点数精度误差带来的比较问题&#xff0c;以及进行一些常用运算&#xff08;四舍五入、比较、取模等&#xff09;。下面我们逐行详细解释每…

指针——练习

sizeof和strlensizeofsizeof是用来计算变量所占内存空间大小的&#xff0c;单位是字节&#xff0c;如果操作数是类型&#xff0c;计算的是使用类型创建的变量所占内存空间的大小。sizeof只关注占用内存空间的大小&#xff0c;不在乎内存中存放什么数据。我们来看一下这个代码&a…

华为云 Flexus 部署 coze-studio

华为云 Flexus 部署 coze-studio 一、前置 主机和程序&#xff1a;云主机&#xff08;Flexus L ubuntu&#xff09; coze-studio 部署方式&#xff1a;docker&#xff08;提前装好的&#xff09; 字节跳动开源AI智能体开发平台Coze&#xff0c;具备极低的硬件门槛——2核CPU…