BackEnd

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

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

はじめに

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

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

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

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

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

マージコミットを消す

コミットを巻き戻すときには reset や revert が使用されるかと思います。
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


関連記事

laravel logo

Laravelでテストコードを書くには? Featureテスト/Unitテスト

はじめに Laravelでは、PHPUnitが標準で組み込まれているので、プロジェクトのセットアップ完了後、すぐにテストコードを書き始めることができます。この記事では、Featureテストを使用したW ...

Next.jsのrevalidatePathとrevalidateTag

はじめに Next.jsでの実装において、他システムの挙動をトリガーにして、手動でフェッチキャッシュの再検証を実施したい場面に遭遇しました。 調べると、revalidatePathとrevalidat ...

laravel logo

Deployerで複数の環境やサーバにデプロイするには

はじめに Deployerを使用する場合、よくあるケースとしてプロダクション・ステージング環境があったり、プロダクション環境が冗長化されているなど、1つのソースを複数のサーバにデプロイしなければならな ...

Go言語

Go言語でテスト作成 testifyの基本的な使い方

はじめに こんにちは、suzukiです。 先週から引き続きgo強化週間です。新しい言語の習得に四苦八苦しております。 第5回目の発表内容は、testifyを利用してテストの作成について触れさせていただ ...

laravel logo

Laravelのバリデーションtips

はじめに こんにちは。今回はLaravelでバリデーションを書く時の、ややレアケースな「○○したい場合どうすればいいんだろう?」を備忘録的にまとめて紹介します。 基本的なバリデーションルールの設定方法 ...

フォロー

blog-page_side_responsive

2017年8月
日 月 火 水 木 金 土
 12345
6789101112
13141516171819
20212223242526
2728293031  

アプリ情報

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