LoginSignup
8
1

More than 5 years have passed since last update.

git checkout -b で feature/ を省略する

Last updated at Posted at 2018-06-26

やりたいこと

git checkout -b feature/spam とするとき、毎回 feature/ をタイピングするのが面倒なので、よしなにうまくやってくれるaliasを作成する。

# feature/spamをつくりたい

$ git checkout -b feature/spam # 毎回feature/を打つのが面倒。。

$ git alias_name spam # 引数にfeature/以下を受け取るaliasを作成したい

結果

2パターン実装してみた

引数にfeature/以下を受け取るパターン

~/.gitconfig
# ~中略~
[alias]
    obf = "!f() { \
        git checkout -b feature/$1;\
         }; f"

スクリーンショット 2018-06-26 18.51.30.png

参考: One weird trick for powerful Git aliases | ATLASSIAN BLOG

私の場合、 checkout のaliasを o としているので checkout -b featureobf としています。
!f() の形式使えば何でもできそう

read -p で標準入力を待ち受けるパターン

~/.gitconfig
# ~中略~
[alias]
    obf = "!read -p 'feature/' feat; git checkout -b feature/$feat"

スクリーンショット 2018-06-26 18.49.05.png

f() 同様に "" で囲んで ;で行を連続すると何でもできそう。


本当は read -p の値をpipeで渡したかったけど出来なかった。。

# イメージ
obf = !read -p "feature/" | xargs -I{} git checkout -b feature/{}

shellに詳しい方、コメントで教えてください。

8
1
0

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
8
1