刪除遠程分支上非本分支的提交記錄

要刪除遠程分支上非本分支的提交記錄(即主分支的提交歷史),需要使用 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…