現在、feature/a branchで開発を進めていて、同僚がfeature/b branchでcode reviewを必要とするpull requestを送ってきたとします。まだコミットしていないテスト中のコードがあり、それはまだ実験中のためです。
この状況では、次のように使えます:
git stash
一時的に変更を保存します。
あるいは、次の方法も使えます:
git stash push -m "add feature A"
後で識別しやすくするために、このスタッシュに説明を追加します。
コマンドを実行すると、コードは前のコミットの状態に戻ります。
その後、スタッシュしたコードを復元したい場合は、まず次のコマンドを使用します:
git stash list
どのスタッシュが利用可能かを確認します。
その後、特定のスタッシュをポップせずに復元したい場合は、次のコマンドを使用します:
git stash apply 0
(番号はスタッシュを適用する順番を表し、0 が最新、以降の番号が過去のスタッシュに対応します。番号を指定しない場合、デフォルトで0になります。)
特定のスタッシュを復元してポップしたい場合は、次のコマンドを使用します:
git stash pop 0
(番号はスタッシュを適用する順番を表し、0 が最新、以降の番号が過去のスタッシュに対応します。番号を指定しない場合、デフォルトで0になります。)
リストから特定のスタッシュを削除するには、次のコマンドを使用します:
git stash drop 0
(番号はスタッシュを適用する順番を表し、0 が最新、以降の番号が過去のスタッシュに対応します。番号を指定しない場合、デフォルトで0になります。)
スタッシュリストを全てクリアしたい場合は、次のコマンドを使用します:
git stash clear
以上が紹介したかった内容です。
ご意見やご提案がありましたら、ぜひお聞かせください!
参考文献:
- Git STASH Explained in Simple Words by Academind