snake_caseのブランチ命名規約

gitブランチ名にsnake_case(アンダースコア区切り)を使用します。ブランチ名をコードスタイルに合わせるPython中心のチームやプロジェクトで人気です。

Naming Conventions

詳細な説明

gitブランチのsnake_case

snake_caseは、単語の区切りにアンダースコアを使用する小文字の表記法です。gitブランチではkebab-caseほど一般的ではありませんが、一部のチーム、特にPython、Ruby、Rustを主に使用するチームではsnake_caseが標準的なコードスタイルであるため、好まれる規約です。

フォーマット

type/ticket_number_description_in_snake_case

入力 snake_caseブランチ
Feature: PROJ-123 "Add User Auth" feature/proj_123_add_user_auth
Bugfix: #456 "Fix Memory Leak" bugfix/456_fix_memory_leak
Refactor: REF-90 "Extract Service Layer" refactor/ref_90_extract_service_layer

snake_caseを選ぶ場合

snake_caseは、コード規約とブランチ名の一貫性を重視するチームに適しています。Pythonプロジェクトがすべてにsnake_caseを使用している場合(ファイル名、関数名、変数名)、この規約をブランチ名にも拡張することで統一された開発者体験が生まれます。

トレードオフ

メリット:

  • Python/Ruby/Rustの命名規約との一貫性
  • アンダースコアはチケットID内のハイフンと区別できる(PROJ-123はそのままproj-123として残り、単語にはアンダースコアを使用)
  • 一部の開発者はターミナルでアンダースコアの方がダブルクリックで選択しやすいと感じる

デメリット:

  • ドキュメント、Slack、メールのリンク下線でアンダースコアが隠れることがある
  • より広いgitコミュニティでは一般的ではなく、他のプロジェクトからの貢献者を混乱させる可能性がある
  • 一部のCI/CDツールはブランチマッチングルールでkebab-caseパターンを期待する

チケットIDと説明の分離

snake_caseの実用的な利点の1つは、チケットIDにハイフンが含まれる場合(JIRAキーのように)です。単語の区切りにアンダースコアを使用することで、チケットIDが視覚的に区別されます:feature/PROJ-123_add_user_authはチケットPROJ-123と説明add_user_authを明確に分離します。

ユースケース

Python開発チームが、PEP 8コードスタイルに合わせたブランチ名を使用し、ファイル名、関数名、gitブランチ全体でアンダースコアを一貫して使用したいと考えています。

試してみる — Git Branch Name Generator

フルツールを開く