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のログも綺麗に残したいですよね。

page_footer_300rect




page_footer_300rect




-BackEnd
-

執筆者:


comment

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

CAPTCHA


関連記事

rails

RailsでSidekiqを使ってみた

1 はじめに1.1 実行環境2 前準備2.1 Redisのインストール3 Railsの準備3.1 プロジェクト作成3.2 新規登録時にAPIを叩く4 Sidekiqの準備4.1 Workerを作る5 ...

rails

ShrineでS3に画像をアップロードする

1 はじめに1.1 前提条件1.2 関連記事2 AWS側の準備2.1 S3バケットを作成する2.2 CORSを設定する2.3 アクセス用のユーザを作成する3 Rails側の設定3.1 Initiali ...

rails

Shrineでアップロードする際に画像を加工する

1 はじめに2 アップロードする画像のリサイズ2.1 Gemを追加2.2 Uploaderの修正3 サムネイルを作成する3.1 Uploaderの修正3.2 サムネイルを表示する4 バリデーションの追 ...

Go言語

Go言語の基礎〜基本構文その2〜

1 はじめに2 配列3 スライス3.1 スライスの宣言3.2 len3.3 append3.4 range3.5 値の切り出し3.6 可変長引数4 map4.1 宣言と初期化4.2 マップの操作4.3 ...

[Dialogflow + CF] アクア様が罵倒してくれたり天気を教えてくれるSlackボットを作る

1 はじめに2 Dialogflowの準備2.1 プロジェクトを作る2.2 Intentを作る2.3 試してみる2.4 WELCOME Intentを作る3 Slackボットを作る4 名前を答える5 ...

フォロー

follow us in feedly

page_side_300rect

2017年8月
« 7月   9月 »
 12345
6789101112
13141516171819
20212223242526
2728293031  

アプリ情報

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