ブランチ名が長くてチェックアウトがめんどくさい
お仕事で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番のチケットに対応したブランチがチェックアウトされる
誰でも思いつくようなハックですが、どなたかのお役に立てば。