gitでmergeをなかったことにする方法

こんにちは、さるまりんです。

コード書いてまして「よし!いけるぞ!」って他の人のコードとマージしようとgit mergeしてみました。

conflict… コンフリクト。。。衝突。。。

同じコードを同じタイミングで編集していたんですね。

さあ、どうしよう。なかったことにしたい。。

あれ?最近、同じようなことを言っていたような気がします。

そう。開発していると時としてなかったことにしたくなることがあるんです。

マージしてみました。なかったことに。

git mergeしてコンフリクトしたのでなかったことにしようという時は

git merge --abort

これでマージ前の状態(git merge前)に戻ります。

シンプルにコマンドを実行する状態の前の状態になります。

英語のabortは中止するという意味です。マージ作業中止!ですね。

マージしてみました。ちょっと頑張りました。なかったことに。

git mergeしてコンフリクト。それを解消したらそれをコミットして先に進めるのですが、編集しててよくわからなくなることがあります。そんな時は

git reset --hard HEAD

これでマージ結果とその後編集した内容が元に戻ります。

強制的にHEADに戻すと言った感じですね。HEADとはその時点でチェックアウトされているブランチやコミットのことです。そこに戻すということになります。ですので、このコマンドでは「git merge+その後の編集」を取り消すことになります。

この編集を考え直したいな。この部分前はどうなってたかな。開発しててこういうことってよくあると思うんです。簡単に元に戻したりできるってことで、どんどんいろんなことを試せるってとても助かります。つくづく思います。バージョン管理システムさまさまです。

gitって便利ですね。まだまだ知らないことばかりです。

便利なコマンド、これからも色々覚えていきたいと思います。

読んでくださってありがとうございます。

ではまた!