Green Fortress

プログラマーのポエム隔離所

GitのGUIはハイブリッドで~IntelliJ IDEAとSourceTree~

この記事はJetBrains IDE Advent Calendar 2015 - Adventarの3日目の記事です。

JetBrainsネタとしてはボーダーラインの微妙なところですが事前に用意していたネタが完全に事実誤認だったので慌てて作成した記事だったりします。

私はGitはGUI派で、SourceTreeとIntelliJ IDEAのVCS機能をハイブリッドで使っています。 とはいっても九割SourceTreeで、足りない部分をエディタも兼ねているIntelliJ IDEAにやらせてる感じです。

SourceTreeは概ね以下の様なことに長けています。

  • ブランチの時系列の流れが把握しやすい
  • 異なるブランチの相関関係が把握しやすい
  • ブランチで作った差分の内容が把握しやすい

全体の流れをさっと押さえることに関して長けている印象があって気に入っています。 ただ、物足りない事があって、以下の様な内容が苦手です。

  • 特定のファイルの変更内容を見ようと思ったら対象のコミットを探さないといけない
  • ブランチで変更していないファイルの状態がわかりにくい

つまり、特定のファイルにフォーカスして状態を把握することにかけては不得手と言えます。 この不満点をIntelliJの機能がきれいに補完してくれます。

特に私がよく使うのはファイル単位の「Show History」と「Compare with Branch」です。

  • 「Show History」は選択したファイルピンポイントで変更されたコミットを確認することができます。
  • 「Compare with Branch」は選択したファイルを現在のブランチと指定した他のブランチで差分を取ることができます。

Windowsで開発してた時はTortoiseGitも使ってたんですが、端末がMacに変わったのと、上記二つでやりたいことを満たせてるので多分もう使わないかなという感じです。 ただ、ロースペックマシンで開発するならTortoiseGitは取り回しがいいのアリだと思います(たまーに裏でこっそりリソース食いつぶして叩き落とす必要に駆られたことがありましたが)。もうメモリ残量とにらめっこして余裕があるかを見極めながらSourceTreeを立ち上げるような開発ライフには戻れる気がしません。

というわけで以上、同じgitの操作でも用途に応じてツール使い分けるといいんじゃないのというお話でした。