LoginSignup
4
0

More than 3 years have passed since last update.

【Git】チケット番号からブランチをチェックアウトする

Posted at

ブランチ名が長くてチェックアウトがめんどくさい

お仕事でGitを利用している場合、多くの現場ではRedmineやJIRAなどのプロジェクト管理システムも同時に採用されていると思います。

すると、ブランチ名に

  • ブランチの種類(feature, bug など)
  • 実装や不具合の概要
  • チケット番号

を含めることになります。

結果、このような名前になっているのではないでしょうか?

例) feature/summary-for-implementation/ticket-number

ブランチ名が長いと、チェックアウトするときはこんな感じになってしまいます。

$ git checkout feature/summary-for-implementation/ticket-number

いくら補完をかけても入力が面倒です。

そうするとどっかからコピペするのが常態化しますが、それはそれで面倒ですよね。

チケット番号からチェックアウトする

どうせチケット番号は一意なので、その情報からチェックアウトできると便利です。

以下の<ticket-number>の箇所をチケット番号に書き換えてください。

$ git branch | grep <ticket-number> | xargs git checkout

解説

  • git branchでブランチ一覧を表示
  • grep <ticket-number>でチケット番号からブランチ名を抽出
  • xargs git checkout で抽出したブランチ名を引数にしてチェックアウト

シェルスクリプトにする

ticket-numberの部分を引数にしてシェルスクリプトにしてしまうと便利です。

#!/bin/sh
git branch | grep $1 | xargs git checkout

このシェルスクリプトに実行権限を付与し、エイリアスを設定(例えばcheckout)すれば、以下のようにチケット番号からのチェックアウトが簡単に行えます。

$ checkout 42
# 42番のチケットに対応したブランチがチェックアウトされる

誰でも思いつくようなハックですが、どなたかのお役に立てば。

4
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0