Git

【git】マージしたけどやっぱりやめたい時のやり方3種類

More than 1 year has passed since last update.

gitでマージ作業を始めたけど、もろもろの理由からやっぱりやめたいときのやり方3種類です。


その1。マージしたらコンフリクトした。やっぱりやめよう。

マージしたらコンフリクトした、コンフリクトするとは思わなかった、いったんやめよう、などといういうときです。

コンフリクトの編集をしていないときに限ります。

git merge --abort

マージする前の状態に戻ります。


その2。マージしたらコンフリクトした。コンフリクトを解消しようといろいろ編集した。でもやっぱりやめよう。

コンフリクト解消のためにコードをいろいろ編集したけどやっぱりマージやめよう、というときです。

git reset --hard HEAD

編集した内容もマージもすべて取り消されます。


その3。マージすべて完了した。でもやっぱりやめよう。

マージが完了(コミットまで)したけれども、やっぱりマージ前に戻したい、というときです。

git reset --hard ORIG_HEAD

マージする前のHEADに戻ります。


注意!!!

「その3。」の方法は一度できたコミットを取り消すことになります。

一度pushなどを行って、ほかの開発者に公開されているコミットを取り消すことは絶対にしてはいけません。

自分のローカルだけでマージしてみたけど(pushはしていない)やっぱりやめる、などのローカルの変更をもとに戻す場合にのみ使用しましょう。