ブランチ名の長さ制限と切り詰め

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

切り詰めルール

  1. タイププレフィックスを保持するfeature/bugfix/などのプレフィックスは決して切り詰めない
  2. チケット番号を保持する — トレーサビリティのためチケット参照は維持する
  3. 単語境界で切断する — 最大長の前の最後のセパレーター(ハイフン、アンダースコア、スラッシュ)を見つけてそこで切断
  4. 末尾のセパレーターを除去する — 切り詰め後の末尾のハイフンやアンダースコアをクリーンアップ

切り詰めを避けるコツ

  • 一般的な単語に略語を使用:authenticationの代わりにauthimplementの代わりにimpl
  • コアとなる変更に焦点を当てる:add-oauth2-authentication-with-google-and-github-social-loginではなくadd-oauth-login
  • チケットの説明で完全なコンテキストを提供;ブランチ名は仕様書ではなく、クイック識別子

ユースケース

開発者が詳細なJIRAチケットタイトルからブランチを作成し、120文字のブランチ名が生成されました。切り詰めの動作方法と、チームの80文字規約に合わせて最大長を設定する方法を理解する必要があります。

試してみる — Git Branch Name Generator

フルツールを開く