トラブルシューティング
stash を使いこなすコツ
stash に名前をつける方法、一覧管理、apply と pop の違いなど実践的な使い方
stash に名前をつける
git stash だけだと「WIP on branch-name」という自動メッセージになり、後から何の作業だったかわかりません。
-m オプションで説明をつける習慣にしましょう。
複数の stash を使い分ける場合に特に重要です。
bash
# 説明付きで stash
git stash -m "ログイン画面のレイアウト調整中"
# 一覧で内容がわかる
git stash list
# stash@{0}: On main: ログイン画面のレイアウト調整中apply と pop の違い
git stash pop は変更を復元した後、stash リストからそのエントリを削除します。
git stash apply は変更を復元しますが、stash リストには残ります。
複数のブランチに同じ変更を適用したい場合は apply を使い、一度だけ復元する場合は pop を使います。
bash
# pop: 復元して削除
git stash pop
# apply: 復元するが残す
git stash apply
# 特定の stash を指定
git stash apply stash@{2}stash の整理
bash
# 特定の stash を削除
git stash drop stash@{1}
# すべての stash を削除
git stash clear
# stash の中身を確認(削除前に)
git stash show stash@{0}
git stash show -p stash@{0} # 差分も表示stash から新しいブランチを作る
stash した変更を新しいブランチで作業したい場合、git stash branch を使うと便利です。
stash 時点のコミットから新しいブランチを作成し、stash の内容を適用した状態で開始します。
bash
# stash から新しいブランチを作成
git stash branch feature/new-work
# 特定の stash を指定してブランチ作成
git stash branch feature/fix stash@{2}
Git Ready