要删除远程分支上非本分支的提交记录(即主分支的提交历史),需要使用 Git 的重写历史功能。以下是完整解决方案:

解决方案步骤:

  1. 创建干净的新分支(基于主分支最新提交)
# 切换到主分支并更新
git checkout main
git pull origin main# 创建新分支(替代旧分支)
git checkout -b new-clean-branch
  1. 移植你的提交(仅保留本分支修改)
# 查看旧分支的提交哈希(只记你自己的提交)
git log old-branch --oneline# 使用 cherry-pick 移植你的提交
git cherry-pick <你的第一个提交哈希>
git cherry-pick <你的第二个提交哈希>
# ... 重复直到所有你的提交都移植完成
  1. 强制推送覆盖远程分支
# 删除旧远程分支(谨慎操作)
git push origin --delete old-branch# 推送新分支(使用相同分支名)
git push -u origin new-clean-branch:old-branch --force

替代方案(交互式变基):

如果分支提交不多,更推荐此方法:

git checkout old-branch
git rebase -i main# 在编辑器中删除所有非你的提交行(保留 pick 你的提交)
# 保存退出后完成变基# 强制推送
git push origin old-branch --force-with-lease

⚠️ 重要注意事项:

  1. 强制推送风险

    • 使用 --force-with-lease--force 更安全
    • 会覆盖远程历史,确保你是唯一使用该分支的人
    git push origin old-branch --force-with-lease
    
  2. 协作分支处理

    • 如果其他人基于该分支开发,需通知他们:
    # 其他协作者需要重置分支
    git fetch origin
    git checkout old-branch
    git reset --hard origin/old-branch
    
  3. 恢复误删
    误删提交后24小时内可恢复:

    # 查看丢弃的提交
    git reflog# 恢复特定提交
    git checkout -b recovered-branch <丢失的提交哈希>
    

最佳实践建议:

  1. 预防措施

    # 创建新功能分支时从最新main开始
    git checkout main
    git pull
    git checkout -b feature/xxx
    
  2. 定期变基

    # 每周同步主分支变更
    git checkout feature/xxx
    git rebase main
    
  3. 使用 --fork-point

    # 更智能的变基(自动检测分叉点)
    git rebase --fork-point main
    

执行后验证:

# 确认只有你的提交
git log --oneline main..old-branch
# 应只显示你自己的提交

通过以上操作,可彻底清理分支历史中的无关提交,使分支提交记录保持干净线性。强制推送后,远程仓库的分支历史将只包含你自己的提交。

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

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

相关文章

Flask input 和datalist结合

<input list"categories" name"category" id"category" class"form-control" placeholder"任务分类" required> 这段代码是一个 HTML 输入控件&#xff0c;结合了 <input> 和 <datalist>&#xff0c;用来…

嵌入式分享#27:原来GT911有两个I2C地址(全志T527)

最近在调试全志T527的触摸功能时&#xff0c;发现GT911触摸芯片的I2C地址有时是0x5d&#xff0c;有时又识别成0x14&#xff0c;不知道大家有没有遇到过类似这个情况。虽然最后使用0x5d地址调通了触摸功能&#xff0c;但是一直还是很困惑&#xff0c;为什么会出现0x14和0x5d两个…

Linux运维新人自用笔记(Rsync远程传输备份,服务端、邮箱和客户端配置、脚本)

内容全为个人理解和自查资料梳理&#xff0c;欢迎各位大神指点&#xff01;每天学习较为零散。day24一、Rsync传输文件#安装rsync#-a递归同步&#xff08;包含子目录&#xff09;保留文件权限、所有者、组、时间戳等元数据 #​​-z传输时压缩数据 #​​-v显示详细同步过程 #​​…

以 “有机” 重构增长:云集从电商平台到健康生活社区的跃迁

当电商行业陷入流量争夺的红海&#xff0c;同质化运营模式难以突破增长瓶颈时&#xff0c;云集以从精选电商到有机生活平台的战略转型&#xff0c;开辟出差异化发展路径。其转型并非凭经验决断的孤例&#xff0c;而是建立在对市场趋势的精准研判、用户需求的深度解码&#xff0…

【2025最新版】midjourney小白零基础入门到精通教程!人工智能绘图+AI绘图+AI画图,一键出图教程 (持续更新)

前言 现在市面上相关的AI绘画工具非常多&#xff0c;有6pen.art、Stable Diffusion、DALL.E、Midjourney等。 而MJ就目前而言&#xff0c;它是一款强大的人工智能工具&#xff0c;旨在帮助设计师和创意人员完成各种设计任务。 非常适合我们图像工作者&#xff0c;从 UI 设计到…

2025年渗透测试面试题总结-2025年HW(护网面试) 70(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 2025年HW(护网面试) 70 一、自我介绍 二、同源策略 & 三大漏洞对比解析 1. 同源策略&#xff08;SOP&…

加权卡尔曼滤波

加权卡尔曼滤波融合&#xff0c;它通过给不同传感器或估计结果分配不同的权重&#xff0c;来提高状态估计的精度和可靠性。一、卡尔曼滤波1.状态方程2.观测方程其中&#xff1a;基本方程①状态一步预测②状态估计③滤波增益④一步预测均方差⑤估计均方误差二、加权卡尔曼滤波对…

【世纪龙科技】新能源汽车维护与故障诊断-汽车专业数字课程资源

在职业院校汽车专业教学中&#xff0c;理论与实践脱节、设备投入不足、学生实操能力薄弱等问题长期存在。如何让学生在有限的教学资源下掌握新能源汽车核心技术&#xff1f;如何让教师更高效地开展理实一体化教学&#xff1f;《新能源汽车维护与故障诊断》数字课程资源&#xf…

Windows Server系统安装JDK,一直卡在“应用程序正在为首次使用作准备,请稍候”

一、背景 第二次遇到这个问题了&#xff0c;但是居然没想起来之前遇到过&#xff0c;又问元宝给的答案不对&#xff0c;还没想起来之前收藏过解决方案&#xff0c;这里特别记录一下。 二、问题描述 操作系统是Windows Sever2019&#xff0c;安装JDK时卡住一直过不去&#xff0…

机器学习入门:线性回归详解与实战

线性回归&#xff08;Linear Regression&#xff09;是机器学习中最基础也最常用的算法之一&#xff0c;无论是初学者入门还是实际业务场景&#xff0c;都能看到它的身影。本文将从概念、原理到代码实现&#xff0c;带你全方位了解线性回归。一、什么是线性回归&#xff1f;简单…

第3篇:软链接 mklink /D 教程:轻量缓存目录迁移利器

我们通过诸多实践后将三种链接方案分别独立成篇&#xff0c;可以让不同需求场景的读者精准获取所需内容。下面是回顾我们文章系列策划的三篇博客标题、定位和详细大纲&#xff0c;每篇都围绕一个核心方案展开&#xff0c;具备教学性、实用性和实操性&#xff1a; &#x1f4d8;…

力扣 hot100 Day52

124. 二叉树中的最大路径和 二叉树中的 路径 被定义为一条节点序列&#xff0c;序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点&#xff0c;且不一定经过根节点。 路径和 是路径中各节点值的总和。 给你一个二叉…

数据存储:OLAP vs OLTP

下面系统性地进行介绍,包括OLAP数据库的基本概念、特点、常见产品,以及它们在实际工作中的典型应用场景,最后对比与关系型数据库(OLTP)的区别。 一、OLAP数据库是什么? OLAP(Online Analytical Processing,联机分析处理)数据库,主要用于大数据量、多维度、复杂查询与…

云原生网络策略自动化在微服务架构 API 安全防护与流量管理中的应用

云原生网络策略自动化在微服务架构中的核心价值随着微服务架构在金融、电商等领域的广泛应用&#xff0c;API安全防护与流量管理已成为企业数字化转型的关键挑战。Gartner 2023年报告显示&#xff0c;83%的分布式系统因网络策略缺失导致安全事件&#xff0c;而传统静态策略配置…

无需云服务器的内网穿透方案 -- cloudflare tunnel

内网穿透 原文地址 https://docs.caolib.dpdns.org/network/cloudflare tunnel.html Cloudflare Tunnel 内网穿透工具 1.简介 1.1 介绍 官方介绍&#xff1a;Cloudflare Tunnel 为您提供了一种安全的方式&#xff0c;无需公开路由的 IP 地址即可将资源连接到 Cloudflare。使用…

目前市面上arm64-v8a、armeabi-v7a设备的市占率有多少?为什么x86架构的手机越来越少?

deepseek回答&#xff1a; 当前全球范围内&#xff0c;arm64-v8a 架构在安卓设备中的市占率已超过 64%&#xff0c;远超其他架构版本。具体分布如下&#xff1a; &#x1f4ca; 各架构市场份额对比 架构类型市占率定位与趋势arm64-v8a≥64%主流 64 位架构&#xff0c;性能最…

Java中配置两个r2db连接不同的数据库

Java中配置两个r2db连接不同的数据库在实际项目中不可避免的存在使用两个数据库的情况&#xff0c;下面将系统地讲解相关配置方案&#xff0c;包含配置文件、数据库配置类、注解原理、常见错误排查等维度&#x1f9e9; 一、配置文件说明&#xff08;application.yml&#xff09…

Swagger 配置及使用指南

Spring Boot 项目集成 Swagger 配置及使用指南 一、Swagger 简介 Swagger 是一个用于设计、构建、文档化和使用 RESTful API 的框架。通过集成 Swagger&#xff0c;开发者可以&#xff1a; 自动生成实时 API 文档直接在浏览器中测试 API 接口减少手动编写文档的工作量支持团队协…

什么是缓存雪崩?缓存击穿?缓存穿透?分别如何解决?什么是缓存预热?

缓存雪崩&#xff1a;在一个时间段内&#xff0c;有大量的key过期&#xff0c;或者Redis服务宕机&#xff0c;导致大量的请求到达数据库,带来巨大压力- 给key设置不同的TTL、利用Redis集群提高服务的高可用性、添加多级缓存、添加降级流策略缓存击穿&#xff1a;给某一个key设置…

图像预处理 二

目录 1. 插值方法 1.1 最近邻插值 1.2 双线性插值 1.3 像素区域插值 1.4 双三次插值 1.5 Lanczos插值 1.6 小结 2. 图像掩膜 2.1 制作掩膜 2.2 与运算 2.3 颜色替换 2.3.1 制作掩膜 2.3.2 颜色替换 2.4 图像掩膜代码 3. 图像添加水印 3.1 模板输入 3.2 与运算 3…