小編給大家分享一下GIT回退到某次commit的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
桂陽網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)從2013年開始到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
前言
工作中,Git的使用越來越頻繁。。除了最常用的clone
,add
,commit
,push
,pull
等命令;還有回退命令reset
。這一篇博客就記錄一下該回退命令的簡單使用。
場景
因為公司開發(fā)過程中,處理訂單,限時購買等業(yè)務(wù)時,都是用的阿里云的消息隊列MQ實現(xiàn)的?;蛘呤莾蓚€系統(tǒng)之間的交互,同步信息,如用戶在支付系統(tǒng)A
下了一個訂單(支付成功),這個時候支付系統(tǒng)A
除了處理訂單,還有向庫存系統(tǒng)B
發(fā)送一個消息,告知庫存系統(tǒng)B
要減少下單商品的庫存。
我本地跑項目的時候,如果不注釋掉監(jiān)聽器
,測試服上的消息也可能會發(fā)送到我本地,導(dǎo)致消息丟失。
然后~~我就把本地的監(jiān)聽器那一段代碼注釋掉,方便測試人員在測試服上進行測試。注釋掉代碼如下圖:
哈哈~~注釋掉后,提交的時候,被我一起提交了!真是尷尬呢!測試人員說出bug了!
一看代碼提交歷史~~消息監(jiān)聽器被我注釋掉了。這個鍋我背?。ㄐ蓿?/p>
解決問題
哎呀。。。上面說的好像跟這篇文章要說的不太對的上。
其實是開發(fā)中,我不小心把不該提交的代碼提交到了本地,例如TaskListener
這個類,改了之后,不能提交,一不小心被我commit到了本地(還沒有推送到遠(yuǎn)程)。
有可能已經(jīng)commit了多次到本地。
1. 先查看commit日志 執(zhí)行下面命令
git log
2. 回滾、取消之前的提交
這里我們假設(shè)應(yīng)該回滾到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
能不能找到這一次提交。
開發(fā)過程中,總是會不小心提交一些不能提交的文件。。如果你開發(fā)用的IDEA,可以看看IDEA的這個功能—實用,再也不用擔(dān)心提交錯了。
看完了這篇文章,相信你對GIT回退到某次commit的方法有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!