🎋

過去にcheckout (switch) したブランチに戻る

2024/04/21に公開

レビューするとき、頻繁にブランチ移動して、元の開発ブランチを見失う

自分はよくこの問題にぶち当たります。コミット履歴のように、ブランチ移動履歴が見れたらいいのに……と思ってたら、こんな素敵なテックブログが!

Mobile Factory | Tech Blog #git checkoutで切り替えたブランチの履歴を表示する
まさに求めていたものでした!the96さん、ありがとうございます🙏

ただ人様のテックブログを引用するだけの記事じゃしょうもないので、 peco を追加して、ブランチ移動できるようにしてみました

記事を参考に、機能を追加してみた

切り替えたブランチの履歴を表示する方法については、リンク先を参考にしてみてください。私が追加したのは、 git switchpeco だけです😇 あと、個人的に表示する件数は5くらいあれば良かったので、そこだけ変えました。

やってることは、

  1. reflogから履歴とって、
  2. 絞って5件表示して、
  3. pecoで選択できるようにして、
  4. git swtich で移動

です

# ChangeBranch
function cb(){
git switch "$(git branch -a | sed -e 's/..//' | grep -x -f- --color=never <(git reflog | awk '$3 ~ /checkout/ {print $8}' | awk '!c[$1]++ {print $1}' | head -n 5) | peco)"
}

補足

1個前のブランチに戻るだけなら、 git switch - もしくは git checkout - で十分です🙆‍♂️

Discussion