ちょっと話題の記事

Git Flowによるリリース

2015.01.14

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

今シーズンのスノーボード滑走日数がもうすぐ30日になる渡辺です。 社内には雪山部なる活動もあります。

さて、Git, Subversionなどソースコードのバージョン管理システム自体は使う機会が多いかと思います。 しかし、ブランチの運用やリリース管理については知識が曖昧であったり、難しいと敬遠してしまうことも多いところです。

最近は、Gitの普及によってブランチの運用は浸透してきたかもしれません。 ですが、リリース管理については、主にチームリーダーなどがやってしまうために学ぶ機会が少なく、知らない人も多いと思います。 今回はGitのプラグインのひとつであるGit Flowを使って、リリースする作業を解説します。 なお、GUIクライアントのSouceTreeを利用してみます。

リリース前の確認

はじめに全てのコードがdevelopブランチにMergeされているかを確認してください。 Push漏ればかりはどうやっても検知できませんので、朝礼や社内チャットで確認するしかないでしょう。

すべての変更がdevelopブランチにMergeされていることを確認したならば、developブランチおよびにmasterブランチをセントラルリポジトリからPullしてきます。

リリースの概要

Git Flowによるリリース作業を説明すると、「最新のdevelopブランチから、リリースブランチを作成し、必要な変更を行った後にmasterブランチにMergeし、Tagを付与する」作業です。

文章で説明すると良くわからないのでポイントを箇条書きにしましょう。

  • masterブランチにdevelopブランチがMergeされる
  • Mergeされた状態にTagが付与される
  • Mergeする前に必要な作業(リリース作業)があればCommitできる

これらの作業をリリースブランチを使って行います。

リリース作業

SourceTreeのGit Flowアイコンをクリックし、「新規リリースを開始」を選択します。

Release01

Release02

リリースバージョン(ここでは1.0.0)を入力し、「OK」をクリックします。 開始地点は、通常「最新の開発ブランチ」となります。

Release03

これで、developブランチからリリースブランチが作成されました。 リリースブランチは現時点では命名規則以外はトピックブランチと代わるモノではありません。

ここで必要に応じてリリースに必要な変更をリリースブランチに行いコミットします。 よくある変更としては、バージョンを1.0.0-SNAPSHOTから1.0.0に変更する、などでしょう。

変更が完了したならば、Git Flowメニューを開き、「現在のブランチを終了」を選択します。 なお、その他のアクションにある「リリースを終了」でも同じ挙動になります。

Release04

続けて「このメッセージのタグ」を入力し、OKをクリックしてください。 「このメッセージのタグ」はタグを付与する場合のコミットメッセージに相当します。

Release05

リリースが終了すると、リリースブランチの内容はmasterブランチとdevelopブランチにMergeされ、リリースブランチは削除されます。 さらにmasterブランチの最新版にTagが付与されます。

Pushすることも忘れないでください。

Release06

以上、SourceTreeによるGit Flowのリリース作業の解説でした。