🥺
git checkoutの 「-b」を付けたり外したりしたくない
ブランチを切り替える際、「-b
」の付け外したりが地味に面倒だなーと思っていました。
「-b
」を外し忘れて、fatal: A branch named 'hoge' already exists.
に見舞われたこともしばしば...
そこで今回は、git checkout
の「-b
」を省略する方法をまとめます。
達成したいこと
下記条件を1つのコマンドで完結したい。
- hogeブランチがない場合 →
git checkout -b hoge
の働きをする - hogeブランチが既にある場合 →
git checkout hoge
の働きをする
解決策
.gitconfigにaliasを設定する[1]
[alias]
ch = "!f() { git checkout $1 2>/dev/null || git checkout -b $1; }; f"
まとめ
「-b
」の付け外し忘れ防止ができるので、個人的には気に入っています!
下記を参考にしました🙏
-
もちろん、aliasが「
ch
」以外の場合やgit switch
を使用している場合でも代替できます。 ↩︎
Discussion