首頁 >開發工具 >Git >GIT 如何回退到某次 commit ?

GIT 如何回退到某次 commit ?

Guanhui
Guanhui轉載
2020-07-23 17:57:1812832瀏覽

GIT 如何回退到某次 commit ?

前言

工作中,Git的使用越來越頻繁。 。除了最常用的clone,add,commit,push,pull等指令;還有回退指令reset。這篇部落格就記錄一下該回退指令的簡單使用。

場景

因為公司開發過程中,處理訂單,限時購買等業務時,都是用的阿里雲的消息佇列MQ實現的。或是兩個系統之間的交互,同步訊息,如使用者在支付系統A下了一個訂單(支付成功),這個時候支付系統A除了處理訂單,還有向庫存系統B發送一個訊息,告知庫存系統B要減少下單商品的庫存。

我本地跑專案的時候,如果不註解掉監聽器,測試服上的訊息也可能會傳送到我本地,導致訊息遺失。
然後~~我就把本地的監聽器那一段程式碼註解掉,方便測試人員在測試服上進行測試。註解掉程式碼如下圖:

哈哈~~註解掉後,提交的時候,被我一起提交了!真是尷尬呢!測試人員說出bug了!

一看程式碼提交歷史~~訊息監聽器被我註解掉了。這個鍋我背! (笑哭)

解決問題

#。 。 。上面說的好像跟這篇文章要說的不太對的話。

其實是開發中,我不小心把不該提交的程式碼提交到了本地,例如TaskListener這個類,改了之後,不能提交,一不小心被我commit到了本地(還沒有推送到遠端)。

有可能已經commit了多次到本地。

1. 先查看commit日誌執行下方指令

git log

 

2. 回溯、取消先前的提交

這裡我們假設應該回滾到239afed0857cc2e77c17c01014077808619af64d這個版本,及這個版本及之後的commit全部取消。

git reset --hard commit_id  
 //退到/进到 指定commit的sha码 commit_id:239afed0857cc2e77c17c01014077808619af64d

3.ok,可以重新提交了

git commit a.txt -m "重新提交"  
// 记得不要提交不想提交的文件哦

#IDEA RESET

也可以直接使用IDEA的Reset Head 功能,先透過git log 得到要回退的commit_id,再進行下面截圖的操作。可以先validate一下哦,看看透過commit_id能不能找到這次提交。

 

#總結

開發過程中,總是會不小心提交一些不能提交的文件。 。如果你開發用的IDEA,可以看看IDEA的這個功能—實用,再也不用擔心提交錯了。

推薦教學:《Git教學

以上是GIT 如何回退到某次 commit ?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:jb51.net。如有侵權,請聯絡admin@php.cn刪除