Git flow - amekh/pond GitHub Wiki
Gitを運用するためのフローを記載します。
Table of Contents
Git flow
1. branch
- master ・・・ リリース状態と同期
- develop ・・・ 開発用のマスタブランチ、常にデプロイできる状態にする
- task-branch ・・・ Redmine、issuesのチケット毎に1ブランチ切る
2. フロー
- redmine、issuesでチケット発行
- developからチケットに紐づくtask-branchを切る
- 実装。なるべく細かい単位でコミットを行う
- 単体テスト
- developに対して pull request を作る
- slack、chatworkでレビュー依頼
- "+1 :+1: "コメントが付けばdevelopにマージ
3. commit
3.1 コミット
リモートとの差分を確認して、無駄な差分を出さないようにしましょう。
3.2 コメント
コミットコメントは以下の構成として下さい。
1行目にコミットタイトル
2行目は空白
3行目にコミットの詳細
コミットタイトルは端的に分かりやすく記載しましょう。
また、以下のルールで記載することとします。
#チケット番号 [タグ] コミットタイトル
コミットタグ
- fix:バグ修正
- add:新規(ファイル)機能追加
- modify:機能修正(バグではない)
- remove:削除(ファイル)
例:
#192 [fix] ユーザ名で不正な文字列が利用できてしまう
ユーザ名で、 "@*&!~><?/';{}\'" などの許容していない文字を
入力されてもエラーにならず、登録されてしまうバグを修正しました。
原因
---
バリデーション漏れ
対応
---
バリデーション処理を行い、不正な文字を
入力されている場合はエラーを返すようにしました。
3.3 粒度
コミットはできるだけ細かい単位で行うのが良いとされています。
1コミットで色々やってしまうと、レビュワーに意図が伝わりにくいです。
特に、bugfixの場合は複数件のバグを1つのコミットに纏めないように気を付けてください。
バグがどの修正で解決したのかわからなくなってしまいます。
4. レビュー
不具合、改善点、提案などあれば、遠慮なく指摘して下さい。
レビューされる側の立場に立って、コメントは気を使って書きましょう。
その方が、相手に意図が伝わりやすいです。絵文字などを上手く使うと効果的。 :sushi:
5. タグ
リリースする際は必ずタグを切りましょう。
切り戻しがスムーズに行えます。