今回はGitの操作を誤り、間違ってマージしてしまった時の対処法を2つ解説したいと思います。マージした結果、予期しないコンフリクトが起きてしまい、やっぱりマージコミットを取り消したい!というような場面にも使えますね。commit」まで実行しておきます。今回の場合は「CommitApp」というアプリケーション名で立ち上げました。続いてブランチを新たに切ります。今回は「merge-test」というブランチを作成します。作成後はその「merge-test」ブランチに移動します。merge-testその後以下のようにREADMEを編集し、コミット&プッシュを行いました。merge-test次にGithubのページにアクセスし、プルリクエストを作成&マージまで行いましょう。プルリクエスト作成&マージ最後にmasterブランチに切り替え、pullでリモートの変更をローカルに取り込んで完了です。masterこれで下準備は終わりました。次の項目からマージを取り消す方法を見ていきましょう。–hard」コマンドです。マージのコミット番号を指定するだけで、マージを取り消すことができる便利なコマンドですが、保存していない履歴やステージングエリアにある情報も全て消し飛ぶので注意して実行しましょう。–hard」コマンドで取り消してみます。d1f7cc360d8b58d3fd436646542bc95c231e1305これでローカルはマージする前の状態に戻りました。ここで1つ問題があります。それはローカルではマージする前の状態に戻りましたが、リモートではその変更が変わっていないということです。–hardでコミットを消してもリモートは残ったままではこの場合、どうすれば良いのでしょうか。答えは、強制的にローカルの情報をリモートにプッシュするということです。以下のコマンドを打ち込みましょう。masterするとリモートのコミット履歴も綺麗に消え去るはずです。<コミット番号>もう一つの解決方法はrevertコマンドです。マージコミットを打ち消すコミットを新たに生成することでマージを取り消します。同様に先ほどのマージをrevertコマンドを使って取り消してみましょう。<親番号>を指定することで、特定の履歴を打ち消すことができます。masterブランチにmerge-testブランチをマージさせたのであれば、masterが1、merge-testが2となります。マージコミットの打ち消しコミットが生成されているあとは、この変更をリモートにも反映させるためプッシュするだけです。リモートにもrevertした変更が反映されているこれでマージする前の状態に戻ったはずです。注意すべき点としてはマージした事実は消えないということです。そのため、そのブランチを再度マージしたとしても、取り込みが発生しません。その場合は新しくブランチを作成してマージするようにしましょう。楽天市場調べ-詳細)Amazon楽天市場Yahooショッピング今回は誤ってマージしてしまった時に役立つ、マージを取り消すコマンドを2つ解説しました。–hard」と「revert」コマンドは同じマージコミットを取り消すコマンドでも、それぞれで役割が違うのでしっかりと理解した上で使っていきましょう。yoshi19941117TechTechMedia【Rails基礎】URLを自在にカスタマイズ!ルーティングに名前を指定す...【Rails基礎】deviseを用いたフラッシュメッセージを表示する方法...Railsエンジニアちばよしはる銀座にあるヘルステック企業のRailsエンジニア。初心者から中級者向けに記事を更新しています。お酒とカレーと競馬が好き。TechTechMedia。