Android

IntelliJ IDEA(AndroidStudio)でもgit rebase squashできるよ!

投稿日:

普段開発しているとGitを使ってバージョン管理することが多いと思います。
その時によくローカルブランチを作って、変更をガンガンコミットしていきます。
ある程度実装してリモートブランチにマージする時に、squashしてコミットを一つにまとめるとおもうのですがIntelliJ IDEAでもsquashして一つのコミットに変更することができます。
またAndroidStudioでも当然ですができます。
今回はAndroidStudioでやってみました。

squashのやりかた

例えば以下のような場合です。

コミットメッセージがふざけているのはご容赦ください。
ローカルで作業するにしてもわかりやすいコミットメッセージが好ましいです。

コミットログを操作するため当然ですがローカルブランチで行ってください。
リモートにプッシュしてあるブランチで操作するとおかしくなります。

IntelliJのメニューからVCS -> rebaseを選択します。
すると以下のような画面が表示されます。

今回はdevelopブランチの内容を一つにまとめたいのでbranchにはdevelopを指定します。
ontoはmasterを指定します。ontoに指定したブランチが示すコミットの上に変更がコミットされます。説明が難しい・・。
指定したらRebaseをクリックします。

すると対象になるコミット一覧が表示されます。
ここでActionをsquashにしていきます。

さすがIntellJさん、当然のように複数選択に対応してます。
対象となるコミットを選択して右クリックするとポップアップメニューが表示されるので今回はsquashを選択します。

無事にsquashが設定されました。

Start Rebaseボタンを押すとコミットメッセージの入力を求められるので入力します。

するとこんな感じでsquashが行われてコミットが一つになりました。

あとはリモートにプッシュするなりマージするなりすると良いです。

まとめ

もちろんgitコマンドでもできるのですが、自分はIntelliJを使ったほうが楽なので最近はGUIを使っています。
GitKrakenは更に簡単でGUIのヒストリー上からコミットを選択してsquashできたような気がします。
なおSourceTreeでsquashするやり方が未だにわからないです・・・。

-Android

執筆者:


comment

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

関連記事

Firebaseにプロジェクトを追加する手順

Androidアプリを公開するときFirebaseを使っている方がほとんどだと思うのですが、自分で設定したことがありませんでした。 今回サンプルプロジェクトですが、Firebaseに設定してみました。 …

リスト等で高さをテキストベースラインで指定する方法

Androidでアプリを作るときは、まずはマテリアルデザインを参考にします。 例えば、リスト表示するときにマテリアルデザインではOne line, Two line, Three lineとそれぞれ例 …

Airbnb Epoxyについて

最近RecyclerViewを使うときにAirbnb製のEpoxyというライブラリを使っています。 素のRecyclerViewだと、データが特定の状態のときにレイアウトを変えたい場合、少しごちゃごち …

Androidで端末にPushメッセージ(FCM)が届かない問題

今、自分が会社で作っているアプリはPush通知が届かないとサービスが成り立たない重要な通知となっております。 基本的にFirebase Cloud Messaging(FCM)を使っています。 定期的 …

Airbnb Epoxyで入力フォームを作ってみる

Airbnb Epoxyについてはいろいろな記事があるので詳しく説明を省かせていただきますが、RecyclerViewを使いやすくしてくれるライブラリです。 今回はEpoxyを使ってRecyclerV …