在IDEA中進行git回滾操作:Reset current branch to here?或Reset HEAD

問題描述

1)在本地修改好的代碼,commit到本地倉庫,突然發覺有問題不想push推到遠程倉庫了,但它一直在push的列表中存在,那該怎么去掉push列表中的內容呢?

2)合并別的分支到當前分支(?使用Merge into current操作?),并提交到遠程倉庫,突然發現合并了預期外多余的代碼,導致服務異常,那該怎么回滾到合并之前的狀態呢?

解決方法

方法1:Reset current branch to here?

Reset current branch to here?是Git命令中的一種回滾操作,主要用于將當前分支回退到指定的提交狀態。這個操作在開發過程中遇到錯誤提交或合并問題時,可以快速恢復到之前的穩定狀態。

1)?在IDEA的“Git”工具窗口中,選擇log頁面,選擇需進行回滾操作的分支,找到提交歷史記錄中的目標提交記錄(該記錄之后的所有提交記錄將會被回退),鼠標右鍵,在彈窗中點擊【Reset current branch to here?】。

2)在Git Reset彈窗中選擇合適的回退類型,點擊【Reset】按鈕執行回滾操作。

回退類型說明:

  1. ?Soft?(軟重置):只對本地倉庫有影響,回退本地倉庫文件的版本,被回退的文件全部變成未提交狀態。可以簡單理解被回退的代碼由commit變為no commit狀態。
  2. ?Mixed?(混合重置):與Soft操作基本一樣。區別在于新增的文件不是未提交,而是直接變成非git文件,該新文件不會被刪除;而非新文件則是變為未提交狀態
  3. ?Hard?(硬重置):遠程倉庫本地倉庫刪除選中提交記錄之后的所有記錄,所有文件變為當前選中的版本;未提交的文件全部被清空;而非git文件不受影響
  4. Keep(部分保持重置):回滾到指定版本,但是保留指定版本之后的更改,即未提交的文件不會受到影響,如果回退版本的文件中有未提交的文件將進行版本沖突處理。

注意:硬重置不可逆的,它會改變提交歷史記錄。在進行重置之前,建議備份您的代碼或確保您有可靠的版本控制系統可以回溯。

方法2:Reset HEAD

Reset HEAD?是Git命令中的一種回滾操作,Copy Reversion Number? + Reset HEAD,主要用于回退到指定的版本。

1)復制需要回滾的修訂版本號RevisionNumber(注意主要針對該版本之后的提交記錄進行回退操作

2)選擇【Reset HEAD...】,選擇回退類型(這里只有Soft?、Mixed?、Hard?選項),輸入修訂版本號,點擊【Reset】執行回滾操作。

方法3:Revert Commit

Revert Commit 用于撤銷某次提交,并生成新的Commit 記錄。

1)選擇需要撤銷的某次提交記錄,鼠標右鍵,選擇【Revert Commit】,系統則生成新的提交記錄

2)commit新的提交記錄

3)然后再push即可撤銷該次提交

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

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

相關文章

六十天前端強化訓練之第十一天之事件機制超詳解析

歡迎來到編程星辰海的博客講解 目錄 一、事件模型演進史 1.1 原始事件模型(DOM Level 0) 1.2 DOM Level 2事件模型 1.3 DOM Level 3事件模型 二、事件流深度剖析 2.1 捕獲與冒泡對比實驗 2.2 事件終止方法對比 三、事件委托高級應用 3.1 動態元…

Qwen架構與Llama架構的核心區別

我們在討論Deepseek不同版本之間的區別時了解到,DeepSeek-R1的蒸餾模型分為Qwen和Llama兩個系列,包括Qwen系列的0.5B、1.5B、3B、7B、14B、32B、72B和Llama系列的8B、70B。Qwen系列以阿里通義千問(Qwen)為基礎模型架構(具體是Qwen-2.5),Llama系列以Meta的Llama為基礎模型…

匿名GitHub鏈接使用教程(Anonymous GitHub)2025

Anonymous GitHub 1. 引言2. 準備3. 進入Anonymous GitHub官網4. 用GitHub登錄匿名GitHub并授權5. 進入個人中心,然后點擊? Anonymize Repo實例化6. 輸入你的GitHub鏈接7. 填寫匿名鏈接的基礎信息8. 提交9. 實例化對應匿名GitHub鏈接10. 進入個人中心管理項目11. 查…

工程化與框架系列(25)--低代碼平臺開發

低代碼平臺開發 🔧 引言 低代碼開發平臺是一種通過可視化配置和少量代碼實現應用開發的技術方案。本文將深入探討低代碼平臺的設計與實現,包括可視化編輯器、組件系統、數據流管理等關鍵主題,幫助開發者構建高效的低代碼開發平臺。 低代碼…

Redis系列之慢查詢分析與調優

Redis 慢查詢分析與優化:提升性能的實戰指南 Redis 作為一款高性能的內存數據庫,因其快速的數據讀寫能力和靈活的數據結構,被廣泛應用于緩存、消息隊列、排行榜等多種業務場景。然而,隨著業務規模的擴大和數據量的增加&#xff0…

Git系列之git tag和ReleaseMilestone

以下是關于 Git Tag、Release 和 Milestone 的深度融合內容,并補充了關于 Git Tag 的所有命令、詳細解釋和指令實例,條理清晰,結合實際使用場景和案例。 1. Git Tag 1.1 定義 ? Tag 是 Git 中用于標記特定提交(commit&#xf…

開源項目介紹:Native-LLM-for-Android

項目地址:Native-LLM-for-Android 創作活動時間:2025年 支持在 Android 設備上運行大型語言模型 (LLM) ,具體支持的模型包括: DeepSeek-R1-Distill-Qwen: 1.5B Qwen2.5-Instruct: 0.5B, 1.5B Qwen2/2.5VL:…

深入理解 Java 虛擬機內存區域

Java 虛擬機(JVM)是 Java 程序運行的核心環境,它通過內存管理為程序提供高效的執行支持。JVM 在運行時將內存劃分為多個區域,每個區域都有特定的作用和生命周期。本文將詳細介紹 JVM 的運行時數據區域及其功能,并探討與…

PDF轉JPG(并去除多余的白邊)

首先,手動下載一個軟件(poppler for Windows),下載地址:https://github.com/oschwartz10612/poppler-windows/releases/tag/v24.08.0-0 否則會出現以下錯誤: PDFInfoNotInstalledError: Unable to get pag…

深入剖析MyBatis緩存機制:原理、源碼與實戰指南

引言 MyBatis作為一款優秀的ORM框架,其緩存機制能顯著提升數據庫查詢性能。但許多開發者僅停留在“知道有緩存”的層面,對其實現原理和細節知之甚少。本文將結合可運行的代碼示例和源碼分析,手把手帶您徹底掌握MyBatis緩存機制。 一、MyBatis緩存分類 MyBatis提供兩級緩存…

Vue 使用 vue-router 時,多級嵌套路由緩存問題處理

Vue 使用 vue-router 時,多級嵌套路由緩存問題處理 對于三級菜單(或多級嵌套路由),vue 都是 通過 keep-alive 組件來實現路由組件的緩存。 有時候三級或者多級路由時,會出現失效情況。以下是三級菜單緩存的例子。 最…

QSplitter保存和讀取

官方文檔提供的方案 保存 connect(ui->splitter, &QSplitter::splitterMoved, [](){settings.setValue("splitterSizes", ui->splitter->saveState()); });讀取 ui->splitter->restoreState(settings.value("splitterSizes").toByteA…

VanillaVueSvelteReactSolidAngularPreact前端框架/庫的簡要介紹及其優勢

VanillaVueSvelteReactSolidAngularPreact前端框架/庫的簡要介紹及其優勢。以下是這些前端框架/庫的簡要介紹及其優勢: 1. Vanilla 定義:Vanilla 并不是一個框架,而是指 原生 JavaScript(即不使用任何框架或庫)。優勢…

Java多線程與高并發專題——關于CopyOnWrite 容器特點

引入 在 CopyOnWriteArrayList 出現之前,我們已經有了 ArrayList 和 LinkedList 作為 List 的數組和鏈表的實現,而且也有了線程安全的 Vector 和Collections.synchronizedList() 可以使用。 首先我們來看看Vector是如何實現線程安全的 ,還是…

Jmeter接口測試詳解

今天筆者呢,想給大家聊聊Jmeter接口測試流程詳解,廢話不多說直接進入正題。 一、jmeter簡介 Jmeter是由Apache公司開發的java開源項目,所以想要使用它必須基于java環境才可以; Jmeter采用多線程,允許通過多個線程并…

DeepSeek開啟AI辦公新模式,WPS/Office集成DeepSeek-R1本地大模型!

從央視到地方媒體,已有多家媒體機構推出AI主播,最近杭州文化廣播電視集團的《杭州新聞聯播》節目,使用AI主持人進行新聞播報,且做到了0失誤率,可見AI正在逐漸取代部分行業和一些重復性的工作,這一現象引發很…

通過Golang的container/list實現LRU緩存算法

文章目錄 力扣:146. LRU 緩存主要結構 List 和 Element常用方法1. 初始化鏈表2. 插入元素3. 刪除元素4. 遍歷鏈表5. 獲取鏈表長度使用場景注意事項 源代碼閱讀 在 Go 語言中,container/list 包提供了一個雙向鏈表的實現。鏈表是一種常見的數據結構&#…

【大學生體質】智能 AI 旅游推薦平臺(Vue+SpringBoot3)-完整部署教程

智能 AI 旅游推薦平臺開源文檔 項目前端地址 ??項目介紹 智能 AI 旅游推薦平臺(Intelligent AI Travel Recommendation Platform)是一個利用 AI 模型和數據分析為用戶提供個性化旅游路線推薦、景點評分、旅游攻略分享等功能的綜合性系統。該系統融合…

【滲透測試】基于時間的盲注(Time-Based Blind SQL Injection)

發生ERROR日志告警 查看系統日志如下: java.lang.IllegalArgumentException: Illegal character in query at index 203: https://api.weixin.qq.com/sns/jscode2session?access_token90_Vap5zo5UTJS4jbuvneMkyS1LHwHAgrofaX8bnIfW8EHXA71IRZwsqzJam9bo1m3zRcSrb…

redis數據類型以及底層數據結構

redis數據類型以及底層數據結構 String:字符串類型,底層就是動態字符串,使用sds數據結構 Map:有兩種數據結構:1.壓縮列表:當hash結構中存儲的元素個數小于了512個。并且元 …