VSCodeでgitStashを使ってみる

# 概要
- あるブランチで作業をしている時にコミットはしたくないけど、別のブランチへ移動したい。そんな時に使えるのがgitstash。
- 今回はgitコマンドは使わずに、全てVSCodeだけで完結させる。

# そもそもgitstashとは？
- 編集した箇所を一旦棚に上げて、コミットはせずに保留にする。というイメージ

# 実際にgitstashをしてみる。
今回はtraining-gitstash-appというフォルダを作成、その中にindex.htmlファイルを作成する。
また、githubと連携ができている定で且つ、Masterブランチは以下画像のようになっていることを前提で進める。
![スクリーンショット 2022-05-17 23.15.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2559448/76ab5f60-53f5-7434-03bf-d2b59c40b675.png)

次にMasterブランチからfeatureブランチを作成しfeatureブランチへ移動をする。
![スクリーンショット 2022-05-17 23.19.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2559448/ac112bb0-1849-5253-cfc4-870ad774b08d.png)
![スクリーンショット 2022-05-17 23.19.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2559448/0d6bfec4-07b7-c4d2-5b0a-882417525e9f.png)
![スクリーンショット 2022-05-17 23.19.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2559448/7e1f07bb-2ee6-83ed-4015-48fe47fd0662.png)
次に、featureブランチでbody要素の中身を以下のように編集する。
![スクリーンショット 2022-05-17 23.26.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2559448/a74e2b74-7e56-6b75-e514-eebb1038f578.png)
次にコミットはせずにMasterブランチへ移動をしてみる。
そのためにgitstashをこれから行う。
![スクリーンショット 2022-05-17 23.29.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2559448/5465e5d7-dca2-9f38-3710-d07af6343386.png)
![スクリーンショット 2022-05-17 23.30.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2559448/be9ea694-9ee8-77c3-c8b8-30ee403e34a8.png)
![スクリーンショット 2022-05-17 23.30.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2559448/5a22e215-e492-50a6-6a5a-a456539440c1.png)
ここでstash名を決めます。今回は「作業用」としておきます。
![スクリーンショット 2022-05-17 23.35.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2559448/fb43c617-1334-6131-ac3f-9b4af624394b.png)
これで無事gitstashできました。
一旦Masterブランチへ移動してみます。
![スクリーンショット 2022-05-17 23.39.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2559448/63629a28-8fdd-4815-5bb9-139069c6d752.png)
![スクリーンショット 2022-05-17 23.42.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2559448/2072037b-e085-df96-d5a2-f845f8e65fc7.png)
無事Masterブランチへ移動できました。
このタイミングで最新の差分を取り組むなどしておきましょう。
（今回は特に差分がなかったという定で進めます。）
無事、最新を取り組めたら自分の作業ブランチへ戻ります。
今回の場合だとfeatureブランチへ移動します。
![スクリーンショット 2022-05-17 23.42.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2559448/a6e2212c-e254-2f22-9f46-0f9233c368b9.png)
featureブランチに移動できたら、先程ローカルのMasterブランチを最新にしたので、Masterブランチの差分をfeatureブランチにmergeします。
（今回は差分がなかったという定なのでその作業は省きます）
mergeが完了したら、先程gitstashをしたものを再度featureブランチに戻します。
![スクリーンショット 2022-05-17 23.51.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2559448/abecd556-4b54-8f33-1257-e108b7bbbe20.png)
※もしここでSTASHESが表示されていない場合は、この記事の一番下の手順をご覧ください。
![スクリーンショット 2022-05-18 0.18.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2559448/b376b74e-d8e8-73fd-af73-8a28a287c80d.png)
![スクリーンショット 2022-05-17 23.55.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2559448/4e158243-0c17-636f-ccf9-ad3914c1a5ac.png)
ここで、【Apply Stash】と【Pop Stash】が選択できますが、この意味としては
Apply Stash　＝　Stashしたものを残したまま取り込む
Pop Stash　＝　Stashしたものは残さず取り込む
今回は特に残す必要もないので、【Pop Stash】を選択します。
![スクリーンショット 2022-05-17 23.59.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2559448/ffd5ed98-922c-bcbd-f71e-f0c068ef70bf.png)
無事、編集した内容を取り込むことができました。

# STASHESが表示されない場合
拡張機能からGitLensと検索をしインストールを行います。
※GitLensインストール後STASHESが表示されない場合、VSCodeを再起動してください。
![スクリーンショット 2022-05-18 0.02.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2559448/5925aa4e-dbd7-c3ed-4d1f-e34a5ab9ba19.png)
![スクリーンショット 2022-05-18 0.03.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2559448/a73de6a3-eb1f-5f28-450d-d5b7eb067fc7.png)