git 使用 rebase 刪除某次 提交

git刪除某次commit記錄
在Git中,要刪除某次commit記錄有幾種不同的實現方法:

方法一:使用git rebase命令和~標記

該方法適用于刪除最近的幾次commit記錄。

首先,使用以下命令查看你需要刪除的commit的記錄

git log

找到你要刪除的commit的哈希值(commit ID)。

運行以下命令來使用git rebase命令刪除commit記錄(假設刪除最近的一次commit)。

git rebase -i HEAD~1

這將打開一個交互式的rebase窗口。找到要刪除的commit記錄所在的行,將其前面的pick改為drop。

pick abc1234 commit message 1
drop def5678 commit message 2 (to be deleted)

保存并關閉文件。
Git將執行rebase操作并刪除你在步驟3中指定的commit記錄。

這里出現了一個問題,看一下錯誤

$ git rebase -i HEAD~1
interactive rebase in progress; onto 52784b2
Last commands done (2 commands done):pick abc1234 commit message 1drop def5678 commit message 2 (to be deleted)
Next commands to do (2 remaining commands):drop 46b66b5 #1000049091 xx1pick 2df1056 #1000027181 xxx2
You are currently rebasing branch 'feature/dubhe-pay-platform-2.12.3-bak' on '52784b2'.nothing to commit, working tree clean
The previous cherry-pick is now empty, possibly due to conflict resolution.
If you wish to commit it anyway, use:git commit --allow-emptyOtherwise, please use 'git cherry-pick --skip'
Could not apply c600123... #1000046509 門店標記二期需求

大致意思是 有一些提交記錄中,沒有任何的文件變動,問我們要不要保留這些空(無文件改動)的提交,按需選擇即可,我選擇的是

# 跳過當前無法自動合并的提交,并繼續處理后續的提交
git cherry-pick --skip

看下暫存區是否有未添加的文件,如果有,使用以下命令添加到暫存區,并提交到本地倉庫

git add .
git commit -m "rebase"

然后告訴git,已經處理完rebase了

git rebase --continue

最后強制推送到遠程倉庫即可, 注意,一定要強制推送,否則白改了

git push origin branch_name -force
# 簡寫
git push origin branch_name -f

撤銷 rebase 修改

如果你在 git rebase 過程中遇到問題并希望中止 rebase,可以使用以下命令:

git rebase --abort

這個命令會將你的分支恢復到 rebase 開始之前的狀態,撤銷所有未完成的 rebase 操作。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/93636.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/93636.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/93636.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

第2章 cmd命令基礎:常用基礎命令(2)

Hi~ 我是李小咖,主要從事網絡安全技術開發和研究。 本文取自《李小咖網安技術庫》,歡迎一起交流學習🫡:https://imbyter.com 本節介紹的命令有時間與日期(time/date)、顯示目錄(dir)…

我從農村來到了大城市

從田埂到霓虹初到城市那天,行李箱的滾輪碾過柏油路的震動,和老家泥地上的拖沓感完全不同。站在天橋上往下看,車流像被打翻的調色盤,紅的黃的光在柏油畫布上流淌,我數了三遍才認清那是出租車和公交車的尾燈。第一個月總…

代碼隨想錄算法訓練營第三十六天

LeetCode.1049 最后一塊石頭的重量 II 題目鏈接 最后一塊石頭的重量II 題解 class Solution {public int lastStoneWeightII(int[] stones) {int len stones.length;int sum 0;for(int i 0;i<len;i) sum stones[i];int target sum / 2;int[] dp new int[target 1…

Apache Ignite 的監控與指標(Monitoring and Metrics)

這段文檔是關于 Apache Ignite 的監控與指標&#xff08;Monitoring and Metrics&#xff09; 的介紹&#xff0c;內容非常關鍵&#xff0c;尤其在生產環境中保障系統穩定性和性能時至關重要。 我們來一步步深入解析這段文字&#xff0c;幫助你徹底理解其含義和實際意義。&…

【ssh】ubuntu服務器+本地windows主機,使用密鑰對進行ssh鏈接

目錄1、服務器配置ssh2、本地主機秘鑰對3、上傳公鑰至服務器4、配置服務器的公鑰信息5、測試連接1、服務器配置ssh 使用的服務器系統為 ubuntu系統20.04 首先確認服務器是否已安裝SSH&#xff0c;已安裝的話會返回openssh 的相關信息&#xff0c;返回為空表示未安裝 dpkg -l …

Linux文件fd

文件理解 文件屬性內容 打開文件&#xff1a;本質是進程打開文件&#xff0c;文件沒被打開時候再磁盤上。 操作文件&#xff1a;本質是進程操作文件。 在操作系統內部&#xff0c;一定存在大量被打開的文件&#xff0c;會對其進行管理&#xff0c;每一個被打開的文件&#…

北京-4年功能測試2年空窗-報培訓班學測開-第六十四天-準備面試項目(焦慮)-同學開始面試

今日產出&#xff0c;整理自我介紹&#xff0c;繼續整理第一個項目&#xff0c;學習linux命令很焦慮啊很焦慮&#xff0c;很著急今天本打算結束第一個項目的&#xff0c;但是沒能夠&#xff0c;越說感覺越亂&#xff0c;讓同學聽我講&#xff0c;同學說&#xff0c;要聽睡著了于…

網絡是如何運轉的?——常見網絡協議與網絡分層模型

目錄 基本網絡協議 TCP&#xff08;傳輸控制協議&#xff09; 可靠傳輸&#xff1a;序列號確認應答重傳機制 序列號&#xff08;seq&#xff09; 確認應答&#xff08;ACK&#xff09; 超時重傳 三次握手與四次揮手 三次握手&#xff08;建立連接&#xff09; 四次揮手…

OpenAI放大招:ChatGPT學習模式上線,免費AI智能家教

目錄一、背景介紹二、學習模式是什么國內直接使用AI主流模型GPT-5也會第一時間同步更新。三、主要功能特點1、互動式提示2、分層次響應3、個性化支持4、知識檢查5、靈活切換四、學生如何使用學習模式1、訪問方式2、適用場景3、交互過程4、使用示例五、局限性1、依賴學生自覺性2…

設計模式:享元模式 Flyweight

目錄前言問題解決方案享元工廠結構代碼前言 享元是一種結構型設計模式&#xff0c;它摒棄了在每個對象中保存所有數據的方式&#xff0c;通過共享多個對象所共有的相同狀態&#xff0c;讓你能在有限的內存容量中載入更多對象。 問題 假如你希望在長時間工作后放松一下&#x…

Spring Boot容器化實戰:用官方OpenJDK鏡像極速啟動你的應用

前言 用 Docker 打包 Java 應用,尤其是 Spring Boot,簡直是開發者的超級利器。想象一下,你的程序就像勤快的外賣小哥,隨時待命,跑遍任何一臺機器,馬上為你服務。不論是開發環境還是生產環境,Docker 都能讓部署變得輕松又高效,徹底告別“環境不一致”的煩惱。 本篇文章…

【計算機網絡 | 第1篇】計算機網絡概述(上)

文章目錄一.現代通信基礎&#x1f95d;二.網絡、互聯網、英特網&#x1f9fe;1.網絡&#xff08;Network&#xff09;2.互聯網&#xff08;internet&#xff09;3.因特網&#xff08;Internet&#xff09;三.計算機網絡的標準定義&#x1f95d;早期定義&#x1f9fe;物理構成視…

python語法筆記

問題解決辦法 原本是個小問題&#xff0c;但是花了我大量時間。先說最后的解決辦法&#xff1a;360網絡急救箱搞的。一.問題描述 始終拉取失敗 二.解決過程 1.登陸憑證檢測&#xff0c;查下密碼是不是不對。2.清除GIT所有數據 3.使用SSH拉取 生成密鑰網站上添加密鑰SSH 拉取4.G…

XTOM藍光三維掃描儀:解鎖中小尺寸復雜零件的高精度3D檢測新境界

在3C消費電子行業&#xff0c;產品從出廠到用戶手中&#xff0c;可能經歷運輸、使用中的意外跌落。據統計&#xff0c;超過30%的電子產品售后問題與物理沖擊相關。跌落測試可模擬產品在運輸、使用中意外跌落的場景&#xff0c;可評估其結構強度、內部組件抗沖擊能力&#xff0c…

Django+celery異步:拿來即用,可移植性高

一、依賴環境 1、python解釋器版本&#xff1a;python3.7.5 2、穩定依賴包 # Celery 核心 celery5.2.7 kombu5.2.4 billiard3.6.4.0 vine5.0.0# Redis broker backend redis4.3.6# eventlet (如果用 -P eventlet)【windows系統可以使用】 eventlet0.33.3 greenlet1.1.3# 避免…

Ubuntu18.04 LTS +RTL 8125 出現安裝完系統后沒有網絡問題

Ubuntu18.04 LTS RTL 8125 出現安裝完系統后沒有網絡問題問題描述最終解決方案1.下載對應的Realtek網卡驅動&#xff0c;使用命令lspci查看網卡信息安裝網卡3.重啟電腦記錄過程1.內核升級方式1&#xff09;下載新的內核驅動2&#xff09;安裝內核驅動3&#xff09;重啟電腦4&am…

集成電路學習:什么是ARM CortexM處理器核心

ARM Cortex-M是ARM公司專為微控制器( Microcontroller)設計的處理器核心系列,它以其高性能、低功耗和易于開發的特點,在嵌入式系統和微控制器領域得到了廣泛應用。以下是關于ARM Cortex-M的詳細介紹: 一、ARM Cortex-M的概述 ARM Cortex-M系列處理器是基于ARM架構的高能效…

Apache Ignite 的分布式原子類型(Atomic Types)

以下的內容是關于 Apache Ignite 的分布式原子類型&#xff08;Atomic Types&#xff09;&#xff0c;主要包括 IgniteAtomicLong 和 IgniteAtomicReference。它們是 跨集群節點的“全局共享變量”&#xff0c;支持線程安全、原子性操作&#xff0c;即使多個節點同時訪問也能保…

Leetcode 08 java

283. 移動零 提示 給定一個數組 nums&#xff0c;編寫一個函數將所有 0 移動到數組的末尾&#xff0c;同時保持非零元素的相對順序。 請注意 &#xff0c;必須在不復制數組的情況下原地對數組進行操作。 示例 1: 輸入: nums [0,1,0,3,12] 輸出: [1,3,12,0,0] 示例 2: 輸…

LeetCode 56 - 合并區間

思路 排序&#xff1a;將所有區間按起始點從小到大排序。貪心合并&#xff1a;初始化一個結果列表&#xff0c;放入第一個區間。然后遍歷剩余區間&#xff0c;將當前區間與結果列表中的最后一個區間比較&#xff1a; 若重疊&#xff08;當前區間起點 ≤ 結果區間終點&#xff0…