BackEnd

【Git】マージコミットを消したい

投稿日:2017年8月21日 更新日:

はじめに

こんにちは、tonnyです。
今回はGitのケーススタディ的なものを書きたいと思います。
反面教師として利用してください。

例えばこんなことってないでしょうか?

同じ開発ブランチで、既にリモートブランチが進んでいると、「プルしなさい」と怒られてしまいます。
ここで git pull --rebase を使用すれば、マージコミットもできず、綺麗にリモートを取り込めます。
git pullgit pull --rebase の違いはこちらのサイトで分かりやすく紹介されております。
git pull と git pull –rebase の違いって?図を交えて説明します!

ただ先日、 rebase オプションを付け忘れ、ふつうに pull してしまいました。
その場合、下図のようなログになります。

このマージコミットが非常に邪魔です。

マージコミットを消す

コミットを巻き戻すときには resetrevert が使用されるかと思います。
revert だと「消したというログ」ができてしまうため、 reset を使用します。
reset にも大きく2種類あり、コミットと一緒に変更したファイルまで消してしまう hard オプションと、変更したファイルは残しておく soft オプションがあります。

ケースバイケースで使い分けるとして、今回は soft オプションでコミットだけ消し、 rebase したいと思います。

reset を2回やって巻き戻していますが、1回でも良いと思います。
これで綺麗なログに戻すことができました!

さいごに

私は、消すこともログを残した方が良いと思っているタイプなので、普段は revert を使っていますが、今回はあまりにブサイクになってしまうので、 reset を使いました。

Gitのログも綺麗に残したいですよね。

blog-page_footer_336




blog-page_footer_336




-BackEnd
-

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

Stripe Connectを使って複合プランの継続課金を実装

1 はじめに1.1 想定する継続課金1.2 想定するシチュエーション2 継続課金商品の作成2.1 プランの継続課金商品の作成2.2 ID数の継続課金商品の作成3 実装3.1 プランAとID数を30契約 ...

laravel logo

Laravel Cashier サブスクリプションに使用するテーブルを理解する

1 はじめに2 Laravel Cashierのテーブル2.1 usersテーブル2.2 subscriptionsテーブル2.3 supscription_itemsテーブル3 課金情報の更新方法4 ...

rails

Ruby、Railsの時間に関するメソッドを使用してみた

はじめに 普段PHPのお仕事をしています、tonnyです。 半年程前からRuby on Railsの勉強を始めました。 今回はよく使う時間に関するメソッドついてまとめたいと思います。 目次 1 はじめ ...

laravel logo

Laravel Authのパスワードリセット機能をカスタマイズする

1 はじめに2 準備2.1 Auth2.2 mailhog3 ユーザー登録とログイン4 パスワードリセットのカスタマイズ4.1 ルーティング確認4.2 view編集4.3 認証処理の編集5 リセット画 ...

Rubyを使ってDialogflowのお勉強

1 はじめに1.1 環境2 とりあえずAPIで叩いてみる2.1 テスト用のIntentを作成2.2 Gemの設定3 Eventについて3.1 WELCOMEイベント3.2 パラメータ付きで叩く3.3 ...

フォロー

blog-page_side_responsive

2017年8月
 12345
6789101112
13141516171819
20212223242526
2728293031  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。