編集:git help stash
popセクションのドキュメントから:
状態の適用は競合で失敗する可能性があります。この場合、スタッシュリストからは削除されません。競合を手動で解決し、後で手動でgit stash dropを呼び出す必要があります。
--indexオプションを使用すると、作業ツリーの変更だけでなく、インデックスの変更も復元しようとします。ただし、競合がある場合、これは失敗する可能性があります(競合はインデックスに格納されているため、元の変更を適用できなくなります)。
すべてのリポジトリを新しいディレクトリにハードコピーしてみて(そのコピーがあるため)、次のコマンドを実行します。
git stash show
気になったらその出力をどこかに保存してください。
次に:git stash drop
競合しているスタッシュをドロップします。git reset HEAD
これで、レポは以前の状態のままになります(うまくいけば、私はまだ問題を再現できませんでした)
===
私はあなたの問題を再現しようとしていますが、usin git stash pop
が私であるときに私が得るすべて:
error: Your local changes to the following files would be overwritten by merge:
...
Please, commit your changes or stash them before you can merge.
Aborting
きれいなディレクトリで:
git init
echo hello world > a
git add a & git commit -m "a"
echo hallo welt >> a
echo hello world > b
git add b & git commit -m "b"
echo hallo welt >> b
git stash
echo hola mundo >> a
git stash pop
gitが変更をマージしようとしているのが見えません。失敗します。あなたを助けるために私たちが従うことができる再現手順はありますか?