🥺
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