git stash pop
を実行すると、 CONFLICT (content): Merge conflict in *******.cs
と表示されました。
git checkout --ours . git reset git checkout .
これを実行することで git stash pop
前の状態に戻すことができるので、conflictを起こすファイルを編集してコミットし直しましょう。
(stashに限らずmergeのときは共通ですが、)conflictした部分のstashした部分を無視したければ、
git checkout --ours .
stashからのデータで上書きしたければ、
git checkout --theirs .
をしてから
git stash drop 0
でstashを消します。ちなみに消してはいけないstashを間違えてdropしてしまったときはdrop直後に表示される Dropped refs/stash@{0} (77b6b09adfff175a30aee5a9528ddb868108c5e6)
からハッシュ値を拾ってきて、以下のコマンドで元に戻すことができます。
git cherry-pick -n -m1 77b6b09adfff175a30aee5a9528ddb868108c5e6
参考
git stash pop で conflict したときに、なかったコトにしたい – Qiita