Git回退代碼到某次commit的實(shí)現(xiàn)方法
前言
工作中,Git的使用越來(lái)越頻繁。。除了最常用的clone
,add
,commit
,push
,pull
等命令;還有回退命令reset
。這一篇博客就記錄一下該回退命令的簡(jiǎn)單使用。
場(chǎng)景
因?yàn)楣鹃_(kāi)發(fā)過(guò)程中,處理訂單,限時(shí)購(gòu)買(mǎi)等業(yè)務(wù)時(shí),都是用的阿里云的消息隊(duì)列MQ實(shí)現(xiàn)的。或者是兩個(gè)系統(tǒng)之間的交互,同步信息,如用戶(hù)在支付系統(tǒng)A
下了一個(gè)訂單(支付成功),這個(gè)時(shí)候支付系統(tǒng)A
除了處理訂單,還有向庫(kù)存系統(tǒng)B
發(fā)送一個(gè)消息,告知庫(kù)存系統(tǒng)B
要減少下單商品的庫(kù)存。
我本地跑項(xiàng)目的時(shí)候,如果不注釋掉監(jiān)聽(tīng)器
,測(cè)試服上的消息也可能會(huì)發(fā)送到我本地,導(dǎo)致消息丟失。
然后~~我就把本地的監(jiān)聽(tīng)器那一段代碼注釋掉,方便測(cè)試人員在測(cè)試服上進(jìn)行測(cè)試。注釋掉代碼如下圖:
哈哈~~注釋掉后,提交的時(shí)候,被我一起提交了!真是尷尬呢!測(cè)試人員說(shuō)出bug了!
一看代碼提交歷史~~消息監(jiān)聽(tīng)器被我注釋掉了。這個(gè)鍋我背?。ㄐ蓿?/p>
解決問(wèn)題
哎呀。。。上面說(shuō)的好像跟這篇文章要說(shuō)的不太對(duì)的上。
其實(shí)是開(kāi)發(fā)中,我不小心把不該提交的代碼提交到了本地,例如TaskListener
這個(gè)類(lèi),改了之后,不能提交,一不小心被我commit到了本地(還沒(méi)有推送到遠(yuǎn)程)。
有可能已經(jīng)commit了多次到本地。
1. 先查看commit日志 執(zhí)行下面命令
git log
2. 回滾、取消之前的提交
這里我們假設(shè)應(yīng)該回滾到239afed0857cc2e77c17c01014077808619af64d
這個(gè)版本,及這個(gè)版本及之后的commit全部取消。
git reset --hard commit_id //退到/進(jìn)到 指定commit的sha碼 commit_id:239afed0857cc2e77c17c01014077808619af64d
3.ok,可以重新提交了
git commit a.txt -m "重新提交" // 記得不要提交不想提交的文件哦
IDEA RESET
也可以直接使用IDEA的Reset Head
功能,先通過(guò)git log
得到要回退的commit_id
,再進(jìn)行下面截圖的操作。可以先validate一下哦,看通過(guò)commit_id
能不能找到這一次提交。
總結(jié)
開(kāi)發(fā)過(guò)程中,總是會(huì)不小心提交一些不能提交的文件。。如果你開(kāi)發(fā)用的IDEA,可以看看IDEA的這個(gè)功能—實(shí)用,再也不用擔(dān)心提交錯(cuò)了。
到此這篇關(guān)于Git回退代碼到某次commit的實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)Git回退代碼到某次commit內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
算法系列15天速成——第十五天 圖【下】(大結(jié)局)
今天是大結(jié)局,說(shuō)下“圖”的最后一點(diǎn)東西,“最小生成樹(shù)“和”最短路徑“2013-11-11詳解phpstudy linux web面板(小皮面板)V0.2版本正式發(fā)布
小皮面板,是由phpStudy官方團(tuán)隊(duì)針對(duì)Linux服務(wù)器開(kāi)發(fā)推出的一款服務(wù)器環(huán)境搭建以及管理工具。這篇文章主要介紹了phpstudy linux web面板(小皮面板)V0.2版本正式發(fā)布,需要的朋友可以參考下2019-10-10fiddler使用方法之Fiddler顯示IP,Fiddler中文亂碼解決方法以及fiddler模擬發(fā)送get/post
今天為大家介紹fiddler的3種使用技巧,(1)Fiddler抓包顯示域名IP(2)解決Fiddler抓包時(shí)中文亂碼問(wèn)題(3)利用fiddler模擬發(fā)送get/post請(qǐng)求的方法2018-10-10idea中的project、module、artifact的具體使用
本文主要介紹了idea中的project、module、artifact的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02IE 瀏覽器安全級(jí)別詳情及區(qū)別小結(jié)
排查問(wèn)題時(shí),定位到可能和當(dāng)前瀏覽器的安全級(jí)別設(shè)置有關(guān),順便整理了下Windows 7下IE9安全級(jí)別的詳情內(nèi)容,及各安全級(jí)別下的默認(rèn)設(shè)置差異2016-01-0115個(gè)開(kāi)發(fā)者必須知道的chrome技巧
這篇文章主要介紹了15個(gè)開(kāi)發(fā)者必須知道的chrome技巧,需要的朋友可以參考下2017-09-09idea一直indexing無(wú)法操作的問(wèn)題解決
在使用idea 2020.3版本開(kāi)發(fā)maven項(xiàng)目的時(shí)候,一直出現(xiàn)有效件index,idea基本上就沒(méi)辦法操作了,連跳入到類(lèi)或方法里都跳不了,本文就來(lái)介紹一下解決方法,感興趣的可以了解一下2024-01-01