go local history本地歷史恢復(fù)代碼神器
local history
今天來介紹一個goland很逆天的功能:local history,也就是本地歷史。
這個功能不常被人提及,但是他就像是山中的隱士一樣,不出手則已,一出手就是王炸。
這個功能是用來記錄項目里面的歷史改變的,這個改變包含一般意義的改變,比如說你對某個文件做了一些改動,也包含你之前刪除的文件。
既然是本地歷史,那么我們就可以回到歷史的某個時間點的狀態(tài)。人們常說人生無法時光倒流,也沒有后悔藥去修正自己犯過的錯誤。但是對于代碼就不一樣了。我們有機會讓代碼回過去的某個狀態(tài)。
聽起來,本地歷史很像git的回退功能。但是他們起作用的時間點是不一樣的,git是對已經(jīng)提交的代碼進行回退到某個過去的版本;本地歷史則是在你編輯代碼的全過程進行項目的狀態(tài)記錄,從這個意義上講,他比git更強大。
實操本地歷史的使用
假定這么一個場景,前幾天你已經(jīng)提交了一次代碼,然后開始對一個文件進行了一些更改(比如有25次的更改),但是在你提交代碼之前,你突然意識到 這個文件有一個重要的方法目前是沒有(這個方法在第三次更改的時候加的,后面又刪了),你需要讓這個文件重新具有這個方法的代碼。
你想過使用撤銷(快捷鍵 ctrl+z)來試圖回退讓這個方法重新具有,但是一想到要按很多次ctrl+z,也害怕多次的ctrl+z會出問題。
此時,你就可以用到本地歷史了。
第一個:回退單個文件
對這個文件右擊,然后選擇Local history,然后選擇Show history,然后回彈出一個窗口,窗口左邊就是之前的這個文件出現(xiàn)的版本的列表,每個版本默認(rèn)帶了一個自己的時間戳。窗口右邊是一個差異的查看器,選擇一個歷史版本,然后和當(dāng)前的版本進行差異對比,以此來確定自己需要哪個歷史版本的文件。
當(dāng)選定了一個歷史版本,就可以點擊向左的箭頭符號,實現(xiàn)回退。

前面選中某個版本,然后回退,那么代碼就是這個版本的代碼;如果你只想要這個歷史版本的某一部分代碼,那么可以點擊>>去把想要的代碼移到當(dāng)前的版本里。
第二個:回退多個文件
先選中多個文件,然后向前面右擊選擇Local hisotry|show history。
第三個:回退已經(jīng)刪除的文件
如果你之前不小心刪除了某個文件,也可以同上一樣操作,刪除的文件在歷史版本里面標(biāo)記了Deleting。
如下動圖,來恢復(fù)已經(jīng)刪除的server.go

前面提到每個文件的歷史版本是通過時間戳來標(biāo)識的,那么如果在操作多個文件,或者對同一個文件前面的更改次數(shù)太多了,可能就不那么好識別具體的版本了。此時可以給當(dāng)前文件的版本加一個Label來區(qū)別。
還是右擊文件,選擇Local history,然后選擇put label,然后給一個當(dāng)前更改的標(biāo)識(最好是一個有業(yè)務(wù)含義的名字)。
為了減少鼠標(biāo)的點擊,可以先按2次 shift,然后輸入local ,選擇local history來快速調(diào)出本地歷史
本地歷史很強大,可以幫我們很快恢復(fù)一些代碼。但是他也是有使用邊界的。本地歷史默認(rèn)只能保存最近5天有修改的文件。這個值也是可以修改的,在Setting里面的IDE下面找到Duration of storing changes in Local History ,然后你可以給個30天(應(yīng)該夠了)。
以上就是go local history本地歷史恢復(fù)代碼神器的詳細(xì)內(nèi)容,更多關(guān)于go local history恢復(fù)代碼的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
使用go net實現(xiàn)簡單的redis通信協(xié)議
本文主要介紹了go net實現(xiàn)簡單的redis通信協(xié)議,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12
Golang Gin框架實現(xiàn)多種數(shù)據(jù)格式返回結(jié)果詳解
這篇文章主要介紹了Golang Gin框架實現(xiàn)多種數(shù)據(jù)格式返回結(jié)果,我們都知道,一個完整的請求包含請求和處理請求以及結(jié)果返回三個步驟,在服務(wù)器端對請求處理完成以后,會將結(jié)果返回給客戶端,在gin框架中,支持返回多種請求數(shù)據(jù)格式,下面我們一起來看看2023-05-05

