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 の 初期化のために、main
ブランチと、develop
ブランチを予め作っておきます。
すでに開発がはじまって、コミットが進んでしまっていても大丈夫ですが、develop
がmain
と同じか、より進んでいる必要がありますので、構造に注意しましょう。
どちらも同じ意味です。また、どちらを使っていても問題ありません。
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制作には必要無さそうです。