ForkでGitflowする
Gitを使った開発フローには「GitFlow」や「トランクベース開発」、「GitHubフロー」などがあるそうです。
Gitflow とは、元来は Git ブランチを管理するための破壊的で斬新な戦略のレガシー Git ワークフローです。Gitflow の需要は落ち込み、トランク ベースのワークフローが利用されるようになっています。現在ではこれが最新の継続的なソフトウェア開発のベスト プラクティスおよび DevOps プラクティスと見なされています。Gitflow はまた、CI/CD と使用することも困難な場合があります。この投稿では、歴史的な目的で Gitflow の詳細をご説明します。
最初に普及した Gitflow は、特定の個人だけがメイン コードへの変更を承認できる、非常に厳格な開発モデルです。そのため、コードの品質が維持されてバグの数が最小限に抑えられます。トランク ベース開発は、すべての開発者がメイン コードにアクセスできる、よりオープンなモデルです。そのため、チームはすばやく反復処理を実行して CI/CD を実現できます。
GitHub フローは、軽量のブランチ ベースのワークフローです。 GitHub フローは、開発者だけでなくすべてのユーザーに役立ちます。
各々の特徴を一覧にすると以下です。
| 特徴 | GitFlow | GitHub Flow | トランクベース |
|---|---|---|---|
| 複雑さ | 高い | 低い | 非常に低い |
| リリースの頻度 | 数週間〜数ヶ月に一度 | 毎日〜週に数回 | 1日に何度も |
| 主な用途 | 堅牢なパッケージソフト | Webサービス、SaaS | 高速な継続的デプロイ |
これらの違いは赤帽エンジニアブログさんのトランクベース開発についてで分かりやすく違いが説明されています。今回はGitクライアントであるForkを使ってGitflowを試してみました。尚、「ひとり開発」を前提にしています。