【git】stashを間違えたブランチにpopしてコンフリクトが起きた時にすること
結論
stashでコンフリクトが発生した場合には
stashには残ってる!
git reset --hard
でコミットの段階に戻って
git checkout branch
で本当のブランチに移動。
git stash pop
で元に戻る!
-------------以降どうでもいい経緯-------------
git使い始めて気がつけば1年たっているにも関わらず
あまり進歩していない私ですが、、、
先日、寝ぼけて?会社でこんなことやっちまいやした。
masterの内容を取り込まなくてはいけないので
・A'ブランチからmasterへ移動
(作業中だったため、A'ブランチでstash実行)
・pullしたけどネットワーク不調なのかエラーが。。。
(会社の人に聞いているけど解決方法わかったのかな?)
・しょうがないので元のブランチに戻って作業しようとcheckout A'を実施
・コマンド失敗していたらしく、A'ブランチじゃなくてそれの先祖でとっといてあるAブランチに移動(←そして気づいていない自分)
・作業続行しようとgit stash pop を実行
→コンフリクト発生
慌てふためく私。
・とりあえずstashしてコンフリクトが発生した時の事例を調べるためgoogle先生を頼る
ここを発見する。
現在のコミットを採用する場合には
git checkout --ours .
と書いてあるので実行
なぜか出来ず!!!!!!
しょうがないのでtwitterで相談。
家で家族に相談。
・変な事してなければgit stash list に残ってるよ!
と。
だから
git reset --hard (コミットしてある状態まで戻る)
↓
git checkout A'
で元に戻るよ!
って!
先週金曜日にそれやったので
今朝というかさっき出社して直しましたとさ。
あー、なおってよかった。