LINEで現役エンジニアに直接質問してみよう!登録無料

gitのreleaseブランチって何?「ブランチモデル」を活用して開発をやりやすくする方法

開発でgitを使っていると、「releaseブランチ」というのをよく耳にしますよね?それで、releaseブランチとは何なのかとおもった事があるのでは無いでしょうか? 結論から言うと、releaseブランチとは、リリースする直前のソースコードがまとめられたブランチの事です。この決まりは、「Git-flowという開発時のブランチ命名規約(開発手法)の一部」に出てきます。 gitのreleaseブランチを使うと、リリース時期やリリース内容を簡単に管理することが出来ます。 この記事では、releaseブランチについてもっと詳しい解説と、relaseブランチが使われている「Git-flow」について少し解説をします。
MEMO
「Git-flow」は開発時のブランチ命名規約の一部というお話をしましたが、より正確にはその規約と規約を簡単に扱えるツールをあわせて「Git-flow」です。 インターネット上の情報には、この2つかわからない情報もあり、混乱する元になっているので、どちらについて書いてあるのか意識して読むようにしましょう。

releaseブランチとは?

「Git-flow」というブランチ命名規約に出てくるブランチ名の1つです。普通は、リリースする内容は複数有ることもあるので、release/hogehogeという感じで、複数のブランチで管理されます。 releaseブランチを使うと、機能の追加やマイナーリリース、バグ修正などをリリースするブランチにまとめることで、コードをきれいに保つことが出来ます。 作られたreleaseブランチは主にmasterブランチにマージされ、タグ付がされます。

releaseの登場する「Git-flow」とは?

「Git-flow」とは、Gitの機能の1つ「ブランチ」を使い、最大限にGitを活用できる開発運用手法の1つです。後に、この手法を簡単に導入できる「Git-flow」という同名のツールが開発されています。 複数人で開発を行う際、1人1人が自由にブランチ名を使っていたのでは、ブランチ名がかぶってしまうなどの支障が出てしまいます。 マージミスをしたり、リリース内容を間違ったりすれば、時に大きな事態になりかねません。 そこで、branchの名前に秩序をもたらし、ブランチの命名にネームスペースを設け、そのネームスペースごとに役割をもたせて、gitでの開発をもっとやりやすくした方法が「Git-flow」です。 元々のアイディアは、ディベロッパー(開発者)の1人 Driessen氏が自身のブログで公開した「A successful Git branching model」がモデルになっています。 この記事は英語なのですが、日本語の方や良いと言う人は、翻訳してくれている記事があるので、興味があったら読んでみてください。 A successful Git branching model を翻訳しました

releaseの登場する「Git-flow」の運用方法

「Git-flow」では、次の5つの役割ごとにブランチを分けます。
ブランチ名 役割
master リリース済みのソースコードを管理するブランチ。releaseブランチからマージされるのが主。マージされた後、必ずバージョン名でタグを付ける。
develop 開発用ブランチ。新規機能作成されたらまずこのブランチにマージされる。その後、このブランチからreleaseブランチが作成され、masterにマージされる
release リリースされる直前の内容が管理されているブランチ。このブランチから新たにブランチはつくられることはなく、バグ修正や新規追加が行われた後、masterにマージされる
feature 新規機能が作られるのはすべてこのブランチになる。日に、developブランチにマージされる
bugfix 後にバグが発見され、master、develop、releaseでブランチを修正したい場合に作成されるブランチ。
この記事を書いた人

自身がプログラミングを独学で勉強し始めて躓いた経験を元に、これから勉強をする人に向けに「イラスト多めでわかりやすい記事」にこだわって情報を発信しています。

現在はフルスタックエンジニアとしてサービス開発などのお仕事をしています。