メインコンテンツまでスキップ

Git Flow を初期化しよう

使い始める前の準備をします

運用方法の基本はブランチの名付けから

ブランチを作るとき、どんなブランチの名前にしよう?と、悩むことがあると思いますがGit Flowでは、取り扱うブランチの種類によって前置詞と、主となるブランチが決まっています。

例えば以下のようなルールです。

  • フィーチャーブランチは、必ずデベロップブランチから生やし、ブランチ名の最初に「feature/」と付ける

  • リリースブランチは必ず、デベロップブランチから生やし、ブランチ名の最初の「release/」と付ける

などです。

いちいちこのルールを手作業に頼っていると、疲れているときにうっかりします(笑)

なので、このあたりをVSCodeに任せるために、Git Flowの初期設定をします。

スラッシュ「/」で区切られるブランチ名

URLのスラッシュと同じで、グルーピング(フォルダ的な)を表現ができます。

VSCodeでも、この命名規則でツリービューに変換されるので、便利です。

Web制作において、ページ単位で物事を考える場面が多いので、ブランチが多くなる場合は、「feature/top-page/main-visual-section」みたいなローカルルールを持っても良いかもしれません。

Git Flow プラグイン(拡張機能)

VSCode で Git Flow を直感的に取り扱うために、以下の拡張機能を入れてください。

https://marketplace.visualstudio.com/items?itemName=Serhioromano.vscode-gitflow

「ソース管理」の中に、以下のエリアが表示されるようになります。

Git Flow

初期化のためのブランチを作る

Git Flow の 初期化のために、main ブランチと、develop ブランチを予め作っておきます。

すでに開発がはじまって、コミットが進んでしまっていても大丈夫ですが、developmainと同じか、より進んでいる必要がありますので、構造に注意しましょう。

main? master?

どちらも同じ意味です。また、どちらを使っていても問題ありません。

master は、対して隷属を想起させる名前なので、これからは main って言うようにしようという流れがあります。

main と書いても、masterと書いても、認識されます。

初期化

Git Flow の初期化は、ターミナルから行います。

プロジェクト毎に行う必要があります。

(初期化だけです。以後の操作は、GUIで出来ます。)

ターミナルを開いて、以下のコマンドを実行してください。


git flow init -d

以下の表示がババっと出てくれば、初期化は成功です。


git flow init -d

Initialized empty Git repository in C:/Users/UserName/testA/.git/
Using default branch names.
No branches exist yet. Base branches must be created now.
Branch name for production releases: [master]
Branch name for "next release" development: [develop]

How to name your supporting branch prefixes?
Feature branches? [feature/]
Bugfix branches? [bugfix/]
Release branches? [release/]
Hotfix branches? [hotfix/]
Support branches? [support/]
Version tag prefix? []
Hooks and filters directory? [C:/Users/UserName/testA/.git/hooks]

-d ってなに?

オプションの -d は、「デフォルトのネーミングを使う」という意味です。

付けないと、ネーミングのために、一行づつ質問されます。

Git Flow で使うブランチ名

Web制作で使用するGitFlowのブランチは以下の5つです。

ブランチ名前置詞解説
メインブランチなしmain、または masterリリース後の最新バージョンが固まるブランチです。直接コミットしません。自身をどこかにマージすることもしません。
デベロップブランチなしdevelop次期バージョン開発を進めるブランチです。基本は直接コミットしません。自身をどこかにマージすることもしません。
フィーチャーブランチfeature/feature/top-page開発をするブランチです。機能で分けるつもりで、デベロップブランチから生やし、デベロップブランチにマージして消えるライフサイクルです。
リリースブランチrelease/release/0.1.0コード内のリリース作業をするブランチです。QAや、コード中のバージョン番号の更新などの作業を行います。デベロップブランチから生やし、メインブランチ・デベロップブランチの両方にマージして消えるライフサイクルです。
ホットフィックスブランチhotfix/hotfix/0.1.1リリース後、各バージョンの修正をするブランチです。メインブランチから生やし、メインブランチ・デベロップブランチの両方にマージして消えるライフサイクルです。
その他のブランチ

Git Flowでは現在、この他にも、サポートブランチ、バグフィックスブランチ というような概念も追加されています。

インストール型のアプリケーション開発などでは、(恐らく)たいへん有用ですが、Web制作には必要無さそうです。