-
Notifications
You must be signed in to change notification settings - Fork 38
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* :::tip * fix work, spinout tag page
- Loading branch information
Showing
5 changed files
with
98 additions
and
85 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
--- | ||
sidebarDepth: 4 | ||
title: Gitブランチフロー規約 - タグ規則 | ||
author: フューチャー株式会社 | ||
--- | ||
|
||
## タグ規則 | ||
|
||
Gitにはタグ機能があり、リリースポイントとしてタグを作成する運用とする。 | ||
|
||
これにより、リリースしたアプリケーションやライブラリに何か不具合があれば、切り戻しや原因追求が容易になる利点がある。 | ||
|
||
### タグの運用ルール | ||
|
||
- リリースごとに新しいバージョンを示したタグを発行する | ||
- (推奨) GitHubなどの画面経由でタグを作成する | ||
- mainブランチにてタグを作成する | ||
- 入力間違えなどのケースを除き、一度タグをつけた後は削除しない | ||
- 後述する「タグの命名規則」に従う | ||
|
||
![GitHub画面でbackend/v1.6.0のタグを作成する](img/create_new_tag.png) | ||
|
||
何かしらの理由で、コマンドラインからタグを作成する必要がある場合は、以下に注意する。画面経由・コマンドライン経由でのタグ作成は混ぜないようにし、運用手順は統一する。 | ||
|
||
- 軽量 (lightweight) 版ではなく、注釈付き (annotated) 版のタグを利用する | ||
|
||
```sh | ||
# OK(注釈付きタグを利用する) | ||
$ git tag "v1.0.4" -m "v1.0.4 🐛Fix item api log" | ||
|
||
# NG(軽量タグは利用しない) | ||
$ git tag "v1.0.4" | ||
``` | ||
|
||
### タグの命名規則 | ||
|
||
- `v1.2.4` などの [セマンティックバージョニング](https://semver.org/lang/ja/) を基本とする | ||
- モノリポの場合は `frontend/v1.0.0`、`backend/v2.0.1` など領域ごとにプレフィックスを付与する形式を取る | ||
- プレフィックスにすることで、タグをリスト表示した場合に視認性を上げることができる | ||
|
||
命名に従うと、次のようなコマンドで絞り込みで表示できる。 | ||
|
||
```sh | ||
$ git tag -l --sort=-version:refname "frontend/v*" | ||
frontend/v2.0.0 | ||
frontend/v1.3.0 | ||
frontend/v1.2.0 | ||
frontend/v1.1.0 | ||
... | ||
``` | ||
|
||
また、Gitクライアントによっては `/` を使うことでフォルダのように階層表示ができるため、プレフィックスの区切り文字は `-` ハイフンではなく、スラッシュとする。 | ||
|
||
``` | ||
![TODO -](VSCodeクライアントで階層表示されている画像.png) | ||
``` | ||
|
||
### タグメッセージの規則 | ||
|
||
- (推奨) GitHubを利用中の場合、「[Generate release notes](https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes)」を用いて、タイトルや本文を自動生成する | ||
- フロントエンド・バックエンドで整合性を保っているのであれば、メモ目的でバージョンを記載する運用を推奨とする | ||
- 実用的な利用用途が思いつかない場合は、開発者視点での楽しみリリースの大きなマイルストーンの名称など、チームの関心事を記入することを推奨とする | ||
|
||
![create new tag](img/create_new_tag_title.png) | ||
|
||
何かしらの理由で、コマンドラインからタグを作成する必要がある場合は、GitHub利用時の規則に合わせて次のように作成する。 | ||
|
||
入力例: | ||
|
||
```sh | ||
# OK | ||
$ git tag -a backend/v1.8.0 -m "backend/v1.8.0" | ||
$ git tag -a backend/v1.9.0 -m "backend/v1.9.0 🚀Release with frontend-v3.0.1" | ||
$ git tag -a backend/v2.0.0 -m "backend/v2.0.0 ✨Android版アプリリリース対応" | ||
|
||
# NG | ||
$ git tag -a backend/v3.0.0 -m "🚀Release version v2.0.0" | ||
``` | ||
|
||
### バージョンアップ規則 | ||
|
||
- 開発しているプロダクトがライブラリの場合、セマンティックバージョニングに厳密に従う | ||
- 開発しているプロダクトがシステム(アプリケーション)の場合、その成熟度や初回リリースの区切りでバージョンアップを行うことを推奨する。適切なバージョンアップを行うことで視認性が上がり、運用負荷を下げることができる | ||
- 例1: 初回リリース、カットオーバーで `v1.0.0` に上げる | ||
- 例2: 稼働後1年以上経過し、中規模以上の大きな機能アップデートがあったので、 `v2.0.0` に上げる |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified
BIN
-2.22 KB
(98%)
documents/forGitBranch/img/release_overtaking_hotfix.drawio.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.