まおさんの備忘録

会社やら家やらで調べた事に関する備忘録

【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 stash popでコンクリフトした時の解決方法

ここを発見する。

現在のコミットを採用する場合には

git checkout --ours .

 

と書いてあるので実行

 

 

 

なぜか出来ず!!!!!!

 

 

 

しょうがないのでtwitterで相談。

 

家で家族に相談。

 

・変な事してなければgit stash list に残ってるよ!

と。

 

だから

git reset --hard (コミットしてある状態まで戻る)

 ↓

 git checkout A'

で元に戻るよ!

 

って!

 

先週金曜日にそれやったので

今朝というかさっき出社して直しましたとさ。

 

あー、なおってよかった。