作成するコマンド
下記で <prefix>/<date>/<name>/<work>
ブランチ(例えば feature/20210918/yamada/create-something
)を作成して、そのブランチに切り替えるコマンド
$ gcb <work>
背景
少々長いブランチ命名規則に則っているプロジェクトがある。例えば下記ブランチ命名規則など。
<prefix>/<date>/<name>/<work>
上記ブランチ命名規則に則るブランチの例は下記。
feature/20210918/yamada/create-something
素直にこのブランチを作成して切り替えるには、下記の git コマンドを実行する。
$ git checkout -b feature/20210918/yamada/create-something
・・・ちょっと長い。
この長いブランチ名をタイピングすることを避けるために、今回コマンドを作成した。
ディレクトリ構成
~
└──cmd
└── gcb
作成手順
ディレクトリ・ファイルを作成する。
$ mkdir ~/cmd
$ vim ~/cmd/gcb
gcb
ファイルの中身は下記のようにする("yamada" や option の部分は適宜変更・追加する)。本来は usage など書くべきだが、面倒なので省略。
#!/bin/sh
p=feature
while getopts ":fu" optKey; do
case $optKey in
f) p=fixup shift ;;
u) p=update shift ;;
esac
done
d=$(date +%Y%m%d)
b=$(printf "%s/%s/yamada/$1" $p $d)
git checkout -b $b
権限を変更する。
$ chmod 755 ~/cmd/gcb
PATH を通す。
...
export PATH=$PATH:$HOME/cmd
...
完成。
使用例
ブランチを作成する日付は 2021年9月18日 とする。
feature/20210918/yamada/create-something
ブランチを作成して切り替える場合:
$ gcb create-something
fixup/20210918/yamada/typo
ブランチを作成して切り替える場合:
$ gcb -f typo
update/20210918/yamada/add-btn
ブランチを作成して切り替える場合:
$ gcb -u add-btn
参考
今回作成した gcb
ファイル内に登場するコードで不明点があれば、下記を参照いただけると解決すると思われます。
-
シェルスクリプト
-
date コマンド
-
printf コマンド
以上です。閲覧ありがとうございました!