JetBrainsのIDEでもっとGitを使いこなそう!意外と便利なGUIから使える小技

ほりでー


JetBrainsのIDEでもっとGitを使いこなそう!意外と便利なGUIから使える小技

こんにちは! フロントエンドエンジニアのほりでーです。

IDEと言えばDreamweaver、Eclipse、NetBeans、Codaなどを試してきましたが、数年前にphpStormを体験して以来、すっかりJetBrain系のIDEが気に入ってしまいました……! 最近は最上位版のIntelliJ IDEAを使っており、これがないとコードを書く気にならないくらいです。

今回は、JetBrainユーザーでも意外と気付いていないかもしれない、Git関係の細かい機能についていくつかご紹介しようと思います。

※図ではIntelliJ IDEAを利用しますが、phpStormやwebStormなど、JetBrains製のその他のIDEでも変わりなく使えるTIPSです。

編集中のファイルの特定行の履歴を探す

途中から参加したプロジェクトで「こんなコードを書いたのはどこのどいつだ~!」ということを調べたくなったことがあるのではないでしょうか。

そんな時は、調べたい範囲を選択してからコンテクストメニューで「Show history from selection」を選択します。

① 調べたいコードの範囲を選択②右クリックから Git > Show History for Selection

すると、その変更と関係のある履歴だけが一覧されます。これで汚いコードを書いた犯人をすぐに突き止められますね!

選択した行に関係するGit履歴だけが表示される!

直前のコミットを修正できるamend機能

コミット画面の右上にあるチェックボックス。これをアクティブにしたままコミットすると、今回のコミットの内容を前回のコミットと結合した上で、コミットメッセージを新しい内容で上書きできます。

チェックすると git commit --amend と同様の効果に

コマンドラインから行うgit commit ―amendと同様の機能ですが、GUIからでも使えるのは便利ですね!

git rebase -iをGUIから実行できる機能

過去のコミット履歴を整理するのに便利なgit rebase -iコマンドですが、ターミナルから使うとどうにもインターフェースが使い辛いのが苦手です。編集しているコミットの変更内容もそのままでは確認ができないので、どのコミットを結合すればよいのかを間違えてしまうこともしばしば……。

イマイチ使い辛いgit rebase -i

IntelliJのrebase機能であれば、マウスのドラッグアンドドロップでコミット履歴の順番を入れ替えたり、プルダウンメニューから適用するコマンドを選択できので、複雑なrebaseでも作業内容が一目瞭然です。

⌘+Shift+A(OSX標準のキーバインド)で表示される検索覧で「rebase」を検索
※直近の5コミットを再編集する場合の設定git rebase -i HEAD~5

UIが億劫で使う気になれなかったrebase -iですが、これなら手軽に使えそうですね!

コミットする前からコミットを分けるChangelist機能

通常、ワーキングコピーに対する変更は「Default」という名前のChangelistの中へトラックされます。このChangelistは自分で増やすことも可能です。

貼り付けた画像_2016_10_11_23_43

貼り付けた画像_2016_10_11_23_45

Changelistを増やすことで、あらかじめ別々にコミットしたいファイルを、コミットする前から分けて整理しておくことができます。

雑なコミット・1つのコミットに複数の機能開発が混在。解りにくいコミットログや辿り辛い履歴の原因に
Changelistで分けてからコミット

はじめから適切にChangelistを分割し、その単位でコミットする癖を付けてしまえば、git rebase -igit reset --mixedでコミットを整理するまでもなく、綺麗にコミットログを保つことができるはずです!

git-flowコマンドをインテグレートするプラグイン

プラグイン「git-flow Integration」をインストールすれば、画面の右下にあるメニューからgit-flowのコマンドをGUIで実行できます。

git-flow integration plugin

JetBrainのコミュニティプラグインは、設定のPluginsパネルから検索してインストールできます。

貼り付けた画像_2016_10_11_23_34_1
貼り付けた画像_2016_10_11_23_34

Git Flow Integrationプラグインの注意点

事前にコマンドラインのgit-flowコマンドも必要となるため、事前にインストールが必要です。また、このプラグインにはgitコマンドとgit-flowコマンドが同じディレクトリにインストールされていないとエラーとなってしまう仕様があります。これを回避するにはgitとgit-flowをhomebrewでインストールしておけばOKです。

brew install git git-flow

JetBrainのGUIからGitを使いこなそう

Gitはたくさんのサブコマンドやオプションがあるため、なかなかその全てを覚えるのは難しいものです。gitの機能の中には明らかにGUIから使った方が便利なものもあるため、是非IntelliJユーザーの方は使ってみてくださいね!

ほりでー
この記事を書いた人
ほりでー

フロントエンドエンジニア

関連記事