こんにちは! フロントエンドエンジニアのほりでーです。
IDEと言えばDreamweaver、Eclipse、NetBeans、Codaなどを試してきましたが、数年前にphpStormを体験して以来、すっかりJetBrain系のIDEが気に入ってしまいました……! 最近は最上位版のIntelliJ IDEAを使っており、これがないとコードを書く気にならないくらいです。
今回は、JetBrainユーザーでも意外と気付いていないかもしれない、Git関係の細かい機能についていくつかご紹介しようと思います。
※図ではIntelliJ IDEAを利用しますが、phpStormやwebStormなど、JetBrains製のその他のIDEでも変わりなく使えるTIPSです。
編集中のファイルの特定行の履歴を探す
途中から参加したプロジェクトで「こんなコードを書いたのはどこのどいつだ~!」ということを調べたくなったことがあるのではないでしょうか。
そんな時は、調べたい範囲を選択してからコンテクストメニューで「Show history from selection」を選択します。
すると、その変更と関係のある履歴だけが一覧されます。これで汚いコードを書いた犯人をすぐに突き止められますね!
直前のコミットを修正できるamend機能
コミット画面の右上にあるチェックボックス。これをアクティブにしたままコミットすると、今回のコミットの内容を前回のコミットと結合した上で、コミットメッセージを新しい内容で上書きできます。
コマンドラインから行うgit commit ―amend
と同様の機能ですが、GUIからでも使えるのは便利ですね!
git rebase -iをGUIから実行できる機能
過去のコミット履歴を整理するのに便利なgit rebase -i
コマンドですが、ターミナルから使うとどうにもインターフェースが使い辛いのが苦手です。編集しているコミットの変更内容もそのままでは確認ができないので、どのコミットを結合すればよいのかを間違えてしまうこともしばしば……。
IntelliJのrebase機能であれば、マウスのドラッグアンドドロップでコミット履歴の順番を入れ替えたり、プルダウンメニューから適用するコマンドを選択できので、複雑なrebaseでも作業内容が一目瞭然です。
UIが億劫で使う気になれなかったrebase -i
ですが、これなら手軽に使えそうですね!
コミットする前からコミットを分けるChangelist機能
通常、ワーキングコピーに対する変更は「Default」という名前のChangelistの中へトラックされます。このChangelistは自分で増やすことも可能です。
Changelistを増やすことで、あらかじめ別々にコミットしたいファイルを、コミットする前から分けて整理しておくことができます。
はじめから適切にChangelistを分割し、その単位でコミットする癖を付けてしまえば、git rebase -i
やgit reset --mixed
でコミットを整理するまでもなく、綺麗にコミットログを保つことができるはずです!
git-flowコマンドをインテグレートするプラグイン
プラグイン「git-flow Integration」をインストールすれば、画面の右下にあるメニューからgit-flowのコマンドをGUIで実行できます。
JetBrainのコミュニティプラグインは、設定のPluginsパネルから検索してインストールできます。
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ユーザーの方は使ってみてくださいね!
LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。