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


関連記事

Vue.js+TypeScriptな環境整備

1 はじめに2 vue-cliのインストール3 プロジェクトの作成3.1 機能の選択3.2 シンタックスの選択3.3 CSSプリプロセッサの設定3.4 Unit test3.5 E2E test3.6 ...

Go言語

Golangのファイル操作基本

1 はじめに2 ファイル/ディレクトリの操作2.1 ファイル/ディレクトリの存在を確認2.2 ファイル/ディレクトリの名前変更2.3 ファイル/ディレクトリの削除2.4 ディレクトリ内のファイル確認2 ...

Go言語

Go言語でGinkgoを利用してBDDしてみた

1 はじめに2 BDDとは3 Ginkgoについて3.1 Ginkgoの概要3.1.1 Describe3.1.2 Context3.1.3 It3.1.4 JustBeforeEach3.1.5 B ...

laravel logo

Laravelの開発環境構築

1 はじめに2 開発環境構築2.1 Homestead2.2 Laradock3 Laradockで開発環境構築3.1 Laradockのダウンロード3.2 コンテナの設定ファイルを作成3.3 コンテ ...

laravel logo

LaravelでHTTP通信

1 はじめに2 インストール3 基本的な使い方3.1 GETでリクエストを投げる3.2 リクエストヘッダーを指定3.3 クエリパラメータを指定3.4 timeout時間を指定3.5 POSTでリクエス ...

フォロー

follow us in feedly

blog-page_side_responsive

2017年8月
 12345
6789101112
13141516171819
20212223242526
2728293031 

アプリ情報

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