2012-04-03 19 views
15

これは非常に愚かな間違いのようです。汚い作業ツリー上でgit stash popを実行しました。私は希望の変更を維持し、stash popを元に戻す方法を知らない。誰かが存在しますか?あるいは、そのような間違いは許されませんか?汚い作業ツリーにgit stash popを戻します

答えて

8

このstashのSHA1をまだ使用している場合は、パッチを生成して(git format-patch SHA1)、逆のパッチを適用することができます(git apply -R filename.patch)。 git stash applygit stash drop:あなたはSHA1を失った場合

は、参照How to recover a dropped stash in Git?

+0

format-patchコマンドからどのようにしてパッチファイルを作成しますか? – meson10

+0

与えられたコマンドはコミット 'SHA1'のパッチを作成します。 – adl

+1

これはマージでは機能しません。私の汚い作業ディレクトリに 'git stash pop'を実行したとき、隠された変更がマージされたので、' git format-patch SHA1'は何もしませんでした。回避策のアイデアはありますか? – Will

1

git stash popは、2つのことを行います。 dropを元に戻すことができる場合は、this question and answersを使用して、applyを元に戻すだけで済みます。私はこれを行う方法がわかりませんしかし、あなたはgit rebaseに見えるかもしれません。しかし、adlはします。

関連する問題