如何使用 Rider 的暫存

我們很常在開發的過程當中,切換工作,這時很有可能會切換分支,這時候可以利用 git 的 Stash 或是 Rider 的 Shelve 來暫停目前的開發,下次切換回來的時候,就可以繼續尚未完成的開發工作。

TFVC 也有提供擱置(Shelve),是將檔案放到遠端伺服器,Rider 則是放在本地端。

開發環境

  • Widows 10 Pro
  • Rider 2021.2.1

暫停工作的策略

  1. 先 commit,下次接續工作時,使用 reset commit
  2. 使用 git stash,下次接續工作時,使用 unstash
  3. 使用 rider schelve,下次接續工作時,使用 unschelve

 

Schelve 是 Jetbrains Rider IDE 的功能,跟 Stash 一樣都可以保留尚未 Commit 的程式碼,Stash 後就會保留整個方案未 Commit 的所有檔案,若是要暫存單檔案,可能需要 git cli,目前在 Jetbrains Rider IDE 沒有看到這樣的功能。

Uncommited Changes 選單裡面可以看到 

  • Schelve Changes:擱置檔案
  • Show Shelf:檢視擱置
  • Stash Changes:暫存檔案
  • Unstash Changes:還原暫存檔案

 

Jetbrains Shelve 

當要切換工作前,按下 Schelve Changes,這個畫面長的就跟 Jetbrains Commit 相似,選擇要擱置的檔案,還有,Commit 前有一些工作可以做,比如:驗證 Commit Message、排版等等…等等…

 

擱置後就把挑選的放進擱置集區,專案也被復原 (Rollback) 到還沒有編輯之前。

可以看到擱置內容被放到 git 視窗的 Shelf

 

要繼續上一次的工作就按下 Unshelve 

 

Git Stash

每一套 Git GUI 的 Stash 的表示方式都不一樣,git fork 可以看出哪裡有 Stash,位於哪一個 Branch, Stash 裡面有哪一些檔案

 

Unstash Changes

這時候就能檢視所有 Stash,按下 View 才能看到所有的檔案

 

檢視 Stash 的檔案內容

跟 git fork 相較之下,遜色些許

若有謬誤,煩請告知,新手發帖請多包涵


Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET

Image result for microsoft+mvp+logo