[Pycharm](小ネタ)Git Flowプラグインの導入

2020.04.04

はじめに

データアナリティクス事業本部のkobayashiです。

チームで開発を行う際にgit-flowを使うことは多いと思います。git-flowを使うにはコマンドを用いることが最初の手段だと思いますが、毎回同じ様なコマンドを入力するのが大変であったりLogツリーを視覚的に把握するためにGUIのGitクライアントソフト(例えばSourceTree)を用いることがあると思います。SourceTreeは確かに便利なのですが、バージョン管理の操作を行う度に起動しなくてはいけなく、少し手間を感じていました。

そこで、自分の場合は統合開発環境(IDE)としてPyCharmを使っているのでプラグインを調べるとGit Flow Integrationというまさしくそれなプラグインがあったので早速使ってみました。

この導入と簡単な使い方をまとめたいと思います。

環境

  • macOS Mojave
  • PyCharm 2019.3.3
  • Git Flow Integration 0.6.9

Git Flow Integration

Git Flow IntegrationはIntelliJのプラグインでgit-flowをIntelliJ上で簡単に扱うことができます。IntelliJのプラグインと説明しましたがJetBrainsの他のツール(PhpStorm、RubyMine)でも同様に動きますのでPyCharmでも当然動作します。

An intelliJ plugin providing a UI layer for git-flow, which in itself is a collection of Git extensions to provide high-level repository operations for Vincent Driessen's branching model. - GitHub - OpherV/gitflow4idea: Git Flow Integration plugin for IntelliJ

インストール

1.PyCharmのプラグインですので、他のプラグイン同様にPreferencesからインストールします。 Preferencesウィンドウを開き、Plugins > Marketplaceを選択し、Searchにgit flowと入力すればGit Flow Integrationが見つかるのでインストールします。

2.Git Flow Integrationのプラグインを使うためにgit-flowをインストールします。ここで注意点があるのですがgit-flowはAVH editionをインストールします。

brew install git-flow-avh

自分ははじめよく考えずに

brew install git-flow

としてしまったため、Vanilla Git FlowをインストールしてしまいGit Flow Integrationのプラグインが使えずに30分ほど無駄に考え込んでしまいました。 これはGit Flow Integrationのプラグインの公式ページにも注意書きがあります。

The plugin requires that you have gitflow installed, specifically the AVH edition. This is because the Vanilla Git Flow hasn't been maintained in years. See this page for details

ただGit Flow Integrationのプラグインの最新バージョンの0.7.1ではAVH editionをインストールしていないと警告が出るようですので安心です。

使い方

はじめに、コマンドラインで行うgit flow initと同様にgit-flowの初期化を行う必要があります。

1.ツールバーよりVCS > Git > Gitilow > Init Repoで初期化を行います。

2.git-flow初期化のオプションは基本的にはデフォルトのままで良いのですが運用に合わせて変更します。

これでdevelopブランチが作成されgit-flowを使う準備が完了します。

これ以降の実際のブランチ運用はステータスバーのGitflowを使って行います。 ここを押下することでgit-flowのstart,finish,publish,trackなどのコマンドを実行できます。

まとめ

PyCharm(JetBrainsのIDE製品)を使うことでバージョン管理システムの操作もIDE内で完結でき開発効率は間違いなく上がります。他にもデータベースクライアントも内包しているのでこれから開発環境を整える際の選択肢として候補に入れてみてはいかがでしょうか?

最後まで読んで頂いてありがとうございました。