ブランチ名の長さ制限と切り詰め
gitブランチ名の長さ制限と、可読性とチケット参照を保持しながら単語境界で長いブランチ名を切り詰める方法を理解します。
Best Practices
詳細な説明
ブランチ名の長さと切り詰め
git自体は255文字までのブランチ名をサポートしていますが(ファイルシステムによる制限)、実用的な考慮事項とチーム規約により、通常ははるかに短い制限が設定されます。これらの制限と知的な切り詰め方法を理解することで、クリーンで使いやすいブランチ名を維持できます。
一般的な長さ制限
| コンテキスト | 制限 | 理由 |
|---|---|---|
| Gitファイルシステム | 255文字 | OSパス長の制限 |
| GitHub UI | ~100文字 | ブランチセレクタードロップダウンで切り詰められる |
| ターミナル表示 | ~60-80文字 | 標準的なターミナル幅に収まる |
| CI/CDシステム | 様々 | 一部のアーティファクト命名がブランチ名を使用 |
| Dockerタグ | 128文字 | ブランチから派生するイメージタグ |
推奨制限:60-80文字
60-80文字のブランチ名は以下に快適に収まります:
- ターミナルプロンプト(gitステータスの余地あり)
- GitHubのブランチセレクタードロップダウン
- CI/CDダッシュボードのカラム
- Slack/Teamsの通知
スマート切り詰め戦略
Git Branch Name Generatorは単語が途切れないよう単語境界で切り詰めます:
| 切り詰め前(92文字) | 切り詰め後(78文字) |
|---|---|
feature/proj-1234-implement-user-authentication-with-oauth2-and-social-login-providers |
feature/proj-1234-implement-user-authentication-with-oauth2-and-social-login |
切り詰めルール
- タイププレフィックスを保持する —
feature/、bugfix/などのプレフィックスは決して切り詰めない - チケット番号を保持する — トレーサビリティのためチケット参照は維持する
- 単語境界で切断する — 最大長の前の最後のセパレーター(ハイフン、アンダースコア、スラッシュ)を見つけてそこで切断
- 末尾のセパレーターを除去する — 切り詰め後の末尾のハイフンやアンダースコアをクリーンアップ
切り詰めを避けるコツ
- 一般的な単語に略語を使用:
authenticationの代わりにauth、implementの代わりにimpl - コアとなる変更に焦点を当てる:
add-oauth2-authentication-with-google-and-github-social-loginではなくadd-oauth-login - チケットの説明で完全なコンテキストを提供;ブランチ名は仕様書ではなく、クイック識別子
ユースケース
開発者が詳細なJIRAチケットタイトルからブランチを作成し、120文字のブランチ名が生成されました。切り詰めの動作方法と、チームの80文字規約に合わせて最大長を設定する方法を理解する必要があります。