🌿
【小ネタ】デフォルトブランチに一発で戻るgitエイリアス
新しい作業を始めるとき、デフォルトブランチに戻ってから作業ブランチを切ることが多いですよね。
でも、リポジトリによってデフォルトブランチが違うので、いちいち git switch main や git switch develop とブランチ名を確認して打つのは面倒です。
そこで、リポジトリのデフォルトブランチに自動的にswitchするエイリアスを設定しておくと便利です。
設定方法
.gitconfigに以下のエイリアスを追加します。
[alias]
swd = !git switch $(git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@')
使い方
git swd
これだけで、リモートリポジトリのデフォルトブランチに自動的にswitchできます。
仕組み
-
git symbolic-ref refs/remotes/origin/HEADでリモートのHEADが指しているブランチの参照を取得 -
sed 's@^refs/remotes/origin/@@'でrefs/remotes/origin/プレフィックスを削除してブランチ名を抽出 - 抽出したブランチ名を
git switchに渡す
注意点
このエイリアスが正しく動作するには、refs/remotes/origin/HEADが設定されている必要があります。設定されていない場合は以下のコマンドで設定できます。
git remote set-head origin --auto
Discussion