IDEA_Shelve程式碼擱置與恢復

南海比翼發表於2020-08-21

日常開發中,經常會遇到在當前分支開發到一半,但是需要Checkout上個版本解決bug或調查問題的情況。這個時候,我們是將程式碼提到Push遠端?還是直接Rollback?

最理想的做法,就是將當前的開發分支修改的程式碼暫存起來,然後將開發分支恢復到最初的狀態,再切換到我們需要的分支去處理問題,處理完成後,我們還可以切換到開發分支上,將暫存的程式碼恢復回來,繼續開發。

在IDEA中,就有一個這樣的功能,叫做Shelve Changes。Shelve的中文意思是“擱置;將。。。放到架子上”,看到它的中文含義,相信讀者會更加明白它的作用。

Shelve使用起來很簡單,在IDEA下方的Git皮膚中(IDEA 2020中是Git,2020版本之前是VersionControl),有一個部分叫做Local Changes,這裡面是我們在當前分支做的所有的修改,如下:

在Local Changes中,我們可以自行選擇需要擱置的程式碼(可以多選),然後右鍵選擇“Shelve Changes”,如下:

在彈出的Shelve Changes視窗中,需要填寫一下擱置備註(方便以後確認需要恢復的程式碼,很貼心的功能),最後點選【Shelve Changes】按鈕即可將程式碼擱置起來,如下:

程式碼擱置完成後,我們可以在Git皮膚中的Shelf中,檢視被擱置起來的程式碼,如下:

當開發分支的已修改程式碼都被擱置的時候,就可以直接切換分支了,不需Push或Rollback了。
如果想要將被擱置的程式碼恢復,只需要選中被擱置的程式碼,然後右鍵選擇“UnShelve Changes”即可,再彈出的“UnShelve Changes”視窗中,直接點選【UnShelve Changes】按鈕即可恢復程式碼,如下:


當然,我們也可以直接將被擱置的程式碼刪除掉,如下:

但是如果擱置程式碼沒有恢復,那麼被刪除的擱置程式碼不就沒了嗎?難道還要重新開發?IDEA貼心就在於,被誤刪除的擱置程式碼可以在“Recently Deleted”中找到並恢復,絕對的手殘友好黨...如下:


當然,在“Recently Deleted”還可以再一次進行刪除操作,這次刪除,可就真的刪除了,找不回來的...如下:

以上就是IDEA中很實用的Shelve功能的一個使用介紹,有問題可以留言,看到必回。

相關文章