QA@IT

git stash pop しすぎたときに、ひとつ pop を戻す方法はないでしょうか

9660 PV

git stash pop しすぎたときに、ひとつ pop を戻す方法はないでしょうか。

▼ イメージ(実際には --abort オプションはありません)

git stash pop --abort

回答

綺麗に戻すコマンドは無いと思いますが、下記の方法で stash を復元することは出来るようです。

git stash pop等の後にそのアレをもう一度stashへ戻すコマンド - hchbaw記

このコマンドを使っても、stash pop で作業ツリーに適用された内容は元に戻らないので、git stash pop を戻すというより、git stash clear とかで消してしまった stash を復元する、という意味合いが強いですが。

このコマンドを使うためには stash のコミットIDが必要です。次の方法で stash のコミットが(まだ残っていれば)表示されます。

git fsck --unreachable | grep commit | cut -d' ' -f3 | xargs git log --merges --no-walk --grep=WIP
編集 履歴 (0)
  • 完全に1コマンドで戻すのは無理だろうと思っていたので、十分です。stash のコミットIDの取得方法も知りませんでした。ありがとうございました。 -
ウォッチ

この質問への回答やコメントをメールでお知らせします。