概要
- あるブランチで作業をしている時にコミットはしたくないけど、別のブランチへ移動したい。そんな時に使えるのがgitstash。
- 今回はgitコマンドは使わずに、全てVSCodeだけで完結させる。
そもそもgitstashとは?
- 編集した箇所を一旦棚に上げて、コミットはせずに保留にする。というイメージ
実際にgitstashをしてみる。
今回はtraining-gitstash-appというフォルダを作成、その中にindex.htmlファイルを作成する。
また、githubと連携ができている定で且つ、Masterブランチは以下画像のようになっていることを前提で進める。
次にMasterブランチからfeatureブランチを作成しfeatureブランチへ移動をする。
次に、featureブランチでbody要素の中身を以下のように編集する。
次にコミットはせずにMasterブランチへ移動をしてみる。
そのためにgitstashをこれから行う。
ここでstash名を決めます。今回は「作業用」としておきます。
これで無事gitstashできました。
一旦Masterブランチへ移動してみます。
無事Masterブランチへ移動できました。
このタイミングで最新の差分を取り組むなどしておきましょう。
(今回は特に差分がなかったという定で進めます。)
無事、最新を取り組めたら自分の作業ブランチへ戻ります。
今回の場合だとfeatureブランチへ移動します。
featureブランチに移動できたら、先程ローカルのMasterブランチを最新にしたので、Masterブランチの差分をfeatureブランチにmergeします。
(今回は差分がなかったという定なのでその作業は省きます)
mergeが完了したら、先程gitstashをしたものを再度featureブランチに戻します。
※もしここでSTASHESが表示されていない場合は、この記事の一番下の手順をご覧ください。
ここで、【Apply Stash】と【Pop Stash】が選択できますが、この意味としては
Apply Stash = Stashしたものを残したまま取り込む
Pop Stash = Stashしたものは残さず取り込む
今回は特に残す必要もないので、【Pop Stash】を選択します。
無事、編集した内容を取り込むことができました。
STASHESが表示されない場合
拡張機能からGitLensと検索をしインストールを行います。
※GitLensインストール後STASHESが表示されない場合、VSCodeを再起動してください。