Gitはバージョン管理ツールの中では比較的多機能で、大人数で開発しても継続して開発ができるようにする仕組みがたくさんあります。
それゆえに、どのように使っていくのがベストなのか、悩むこともあるかと思います。
そんなGitには、実は使い方のフレームワーク的な機能があります。
git-flowと呼ばれるものです。
Gitをどう運用していけばわからない…という方はこのgit-flowにそって運用していくと、Gitのメリットを有効的に活かしながら開発を進めることができます。
さて、このgit-flow、非常にいい機能なのですが、GitのGUIクライアントによって標準で扱えるものとそうでないものがあります。
例えば、SourceTreeというGUIのGitクライアントでは、標準でgit-flowに対応しており、GUI上から簡単に利用することが可能です。
一方、エディタやIDEに付属するVCS機能には、標準でgit-flowに対応していないものが多いです。
もっとも、実際に行っていることはブランチ分けとマージのルールを定めているに過ぎないので、手動に運用していっても大差はないのですが、新しいブランチを作るたびに
feature/…
と打っていくと少々面倒な上、誤タイプが発生しやすくなります。
折角git-flowの流れに沿ってやるなら、やはりgit-flowを使ってやっていきたいところ。
かといってコマンドを毎回打つのも面倒…と思ってしまうわがままな僕は、何とか今使ってるIDE上でgit-flowをGUIで使いたい!と思い立ちました。
自分はPhpStormを使用していますが、このIDEの良いところは不足している機能をプラグインで補うことができる点です。
PhpStormにインストールできるプラグインでgit-flowを使用できるようにするプラグインはないかと探したところ、こちらのプラグインが見つかりました。
Git Flow Integration – Jet Brains Marketplace
このプラグインをインストールすると、PhpStormの右下に
git-flowのボタンが出現します。
No Gitflowと出ている場合はまだgit-flow用にGitリポジトリが初期化されていない状態です。
git-flowを使い始めるには、このNo Gitflowの部分をクリックし、Init Repoをクリックします。
すると、製品ブランチや製品候補ブランチの名前、その他開発ブランチの接頭辞を指定する画面が表示されるので、内容を確認してOKをクリックします。
通常はそのままの名前で問題ありませんが、何らかの理由でブランチの名前や接頭辞を変更したい場合は上の”Use non-default configuration”にチェックを入れて、各項目を変更します。
OKをクリックすると設定した内容に沿ってGitリポジトリが初期化されます。(コミットされたソースのデータが消えたりはしません。)
初期化が完了すると、右下のgit-flowの表示が”Gitflow”に変化します。
この状態でクリックすると、上の写真のように、選択肢が表示されるようになります。
ここから、各開発ブランチの発行が可能です。
git-flowは非常に便利で、この機能がIDE上で利用できるようになるだけで、非常にやりやすくなります。
こちらのプラグインはPhpStormだけでなく、Intellij系のIDEであれば使うことができるようですので、該当のIDEを使用している方は是非試してみてください。
10/29追記【重要】:
このプラグインですが、何も設定しない場合はデフォルトのgit-flowの挙動をします。
従って、各ブランチの修正を完了すると、元のブランチはdevelopへマージ後にリモート・ローカルともに削除されることになります。
ブランチを残しておきたい場合は、プロジェクトごとにPhpStormの設定で指定しておく必要があるので注意してください。
PhpStormの設定から
その他の設定->Gitflow
から設定画面にアクセス可能です。
10/28追記:
Macで利用できるようにするためには、HomeBrew等を使用してgit-flow-avhを入手しておく必要があります。
brew install git-flow-avh