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

© 2020 ビー鉄のブログ Powered by AFFINGER5