主頁 > 知識庫 > Git回退代碼到某次commit的實現(xiàn)方法

Git回退代碼到某次commit的實現(xiàn)方法

熱門標簽:檢查注冊表項 服務器配置 鐵路電話系統(tǒng) 網(wǎng)站文章發(fā)布 美圖手機 呼叫中心市場需求 智能手機 銀行業(yè)務

前言

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

場景

因為公司開發(fā)過程中,處理訂單,限時購買等業(yè)務時,都是用的阿里云的消息隊列MQ實現(xiàn)的?;蛘呤莾蓚€系統(tǒng)之間的交互,同步信息,如用戶在支付系統(tǒng)A下了一個訂單(支付成功),這個時候支付系統(tǒng)A除了處理訂單,還有向庫存系統(tǒng)B發(fā)送一個消息,告知庫存系統(tǒng)B要減少下單商品的庫存。

我本地跑項目的時候,如果不注釋掉監(jiān)聽器,測試服上的消息也可能會發(fā)送到我本地,導致消息丟失。
然后~~我就把本地的監(jiān)聽器那一段代碼注釋掉,方便測試人員在測試服上進行測試。注釋掉代碼如下圖:

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

一看代碼提交歷史~~消息監(jiān)聽器被我注釋掉了。這個鍋我背?。ㄐ蓿?/p>

解決問題

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

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

有可能已經(jīng)commit了多次到本地。

1. 先查看commit日志 執(zhí)行下面命令

git log

 

2. 回滾、取消之前的提交

這里我們假設(shè)應該回滾到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,再進行下面截圖的操作??梢韵葀alidate一下哦,看通過commit_id能不能找到這一次提交。

 

總結(jié)

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

到此這篇關(guān)于Git回退代碼到某次commit的實現(xiàn)方法的文章就介紹到這了,更多相關(guān)Git回退代碼到某次commit內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 解決使用commit提交大文件無法推送到遠程庫問題及git rebase使用詳解
  • git如何撤銷commit的方法(未push)
  • git修改已commit的注釋信息實現(xiàn)
  • 淺析git server“丟失”commit問題
  • Git發(fā)現(xiàn)git push origin master 報錯的解決方法
  • 解決fatal:remote error:You can''t push to git://github.com/username/*.git問題的辦法
  • 解決git誤commit大文件導致不能push問題

標簽:沈陽 滄州 樂山 長治 上海 新疆 紅河 河南

巨人網(wǎng)絡通訊聲明:本文標題《Git回退代碼到某次commit的實現(xiàn)方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266