🧬

Git利用規約

Git利用規約

概要

💡
以前は Git-Flow を使用していましたが、少人数の開発チームとしては過剰に複雑でした。 現在は GitHub Flow に近い、比較的シンプルなワークフローを使用しています。
 

運用ルール

  • は常に存在するブランチ、その他はプルリクエストを介したマージが完了したら削除する。(GitHubの設定で自動削除可能)
  • ブランチは直コミットができないよう保護し、必ずプルリクエストを使用する。
  • ブランチは常にデプロイ可能である状態にする。
  • 機能追加や不具合修正は ブランチから ブランチを作成する。
  • 作業ブランチ名は何を行うブランチなのか分かりやすい命名を付け、単語区切りはハイフン を使用する。
  • 作業ブランチは定期的にリモートへPushし、(Draft)プルリクエストを作成する。
  • 最新の  ブランチでは調査が難航しそうな不具合修正は、前回のリリース  から  ブランチを作成
  • からリリースを行ったら を打つ。(e.g.

ブランチ

main

デフォルトブランチであり、プルリクエストのベースブランチとなる。
, , ブランチのマージ対象となる。
リリースされたら、タグを打つ e.g.:  

feature(機能追加・改善)

e.g.:  ,
機能ごとに  ブランチを作成し、プルリクエストを介して  へ していく。
大きい機能の場合は複数の ブランチに分割して作成することを検討する。

release(リリース対応)

e.g.: 
新しいバージョンをリリース(テスト配信を含む)したいときに  から作成する。
バージョン番号とビルド番号を更新してプルリクエストを作成、   へと する。

プルリクエストのマージ

GitHubのプルリクエストの を使用する。

Squash and merge を使用する理由

ブランチ内での細かいコミット履歴は不要なことが多く、 でマージすると無駄にコミット履歴が嵩むことになる。
そこで を使用すると、マージがただ1つのコミットで表現される。(=プルリクエスト単位のコミット履歴となる)
ブランチの履歴や、Tag同士 ( )でコミット差分を見るときも、コミット履歴がプルリクエストタイトルで並んでいて分かりやすい。

参考リンク

Git-flow

Git-Flowとは2023/4/24 4:302023/7/27 20:36
GitHub flow
Space Git Flow