piapia123
ja

git ブランチ名生成

Web

処理はすべてブラウザ内で完結します。データは送信されません

入力
ファイルをここにドロップすると読み込めます
出力

1 行の issue タイトルを整ったブランチ名に変換します。`Fix login redirect bug` は `fix/123-fix-login-redirect-bug` に、中国語のタイトルは拼音の `fix/123-xiu-fu-deng-lu` になります。タイプ接頭辞(feat / fix / hotfix / chore / docs / refactor / test / style / perf / ci / build / revert / なし)、名前内の区切り文字(ハイフンまたはアンダースコア)、issue 番号(任意)とその位置(接頭辞の直後・末尾)、ブランチ名全体の最大文字数を選べます。要点は 2 つの区切り文字が階層を成すことです。接頭辞と本文の間は常に `/` で、選択した区切り文字は本文の中だけに使われます。したがってアンダースコアでも `feat/add_login` となり、`feat_add_login` にはなりません。最大文字数は接頭辞と番号を先に差し引き、残りを語の境界で切り詰めます。処理はすべてブラウザ内で完結し、タイトルは送信されません。

機能

  • タイプ接頭辞:feat / fix / hotfix / chore / docs / refactor / test / style / perf / ci / build / revert / なし
  • 区切り文字はハイフンまたはアンダースコア、本文内だけに適用
  • 接頭辞と本文の間は常に `/` で、区切り文字の設定に影響されない
  • issue 番号を付けられ、位置は「接頭辞の直後」か「末尾」
  • 番号内の数字以外は自動で除去(`AB-123` → `123`)
  • 最大文字数は接頭辞と番号を含めて数え、本文を語単位で切り詰める
  • 中国語のタイトルは拼音に変換し、漢字を残さない
  • 1 行に 1 タイトル、まとめて生成できる
  • 各行にブランチ名とその内訳(接頭辞 / 本文 / 番号)を表示
  • 結果行は個別にコピー可能

使い方

  1. 1 行に 1 つの issue タイトルを貼り付けます
  2. タイプ接頭辞と本文内の区切り文字を選びます
  3. 番号を付ける場合は issue 番号と位置を指定します
  4. 必要に応じて最大文字数を調整し、行末からコピーします

よくある質問

アンダースコアでも `feat/add_login` になり、`feat_add_login` にならないのはなぜですか?
2 つの区切り文字の役割が違うためです。接頭辞と本文の間はセグメント区切りで常に `/` です(git ではディレクトリ階層に対応し、意味を持ちます)。ハイフンやアンダースコアは本文の中の語にだけ使われます。スラッシュまで置換すると全く別のブランチ名になり、しかもどちらも自然に見えるため混同しやすいのです。
中国語のタイトルはどうなりますか?
拼音に変換されます。たとえば中国語のタイトルは `xiu-fu-deng-lu` になります。サイトの slug 機能を再利用し、拼音辞書は必要なときだけ読み込みます。英語のタイトルはこの処理を通さず、小文字化して語に分割するだけです。
最大文字数はどう数えますか?
ブランチ名全体(タイプ接頭辞と issue 番号を含む)の長さです。まず接頭辞と番号の分を差し引き、残りを本文に割り当て、語の境界で切り詰めます。本文を先に切ってから全体がまだ長いと気づく、ということはありません。
ブランチ名はサーバーに送信されますか?
いいえ。生成はすべてブラウザ内で行い、タイトルが端末の外に出ることも、API を呼ぶこともありません。

関連ツール