🌿

【小ネタ】デフォルトブランチに一発で戻るgitエイリアス

に公開

新しい作業を始めるとき、デフォルトブランチに戻ってから作業ブランチを切ることが多いですよね。

でも、リポジトリによってデフォルトブランチが違うので、いちいち git switch maingit 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
Studio Tech Blog

Discussion