LoginSignup
0
1

More than 5 years have passed since last update.

リモートの全ブランチをローカルでチェックアウトした状態にするbashワンライナー

Posted at

大人の事情で、自分たちが使用しているリポジトリの一部を、別リポジトリにPUSHして、そこで別開発を始めたりする必要ってあったりしますよね。
そしてネットワーク上の事情で、リポジトリの移動がシンプルじゃなかったり。
そんなとき、自分たちのリポジトリのブランチがとても多い場合、一つ一つコマンドを打つなりGUIを操作するなりしてチェックアウト作業をするのはとても大変です。
ローカルからPUSHするための、いわば機械的なチェックアウト作業なんて、自動化してしまえばいいんだ!
そういう思いから、以下のスクリプトを作成しました。

for branch in $(git for-each-ref --format='%(refname)' refs/remotes/); do git checkout -b ${branch/refs\/remotes\/origin\//} ${branch/refs\/remotes\//}  ; done

当方の環境は以下です。

  • git version 2.20.1.windows.1
  • windows7 64bit SP1
  • GNU bash, version 4.4.23(1)-release (x86_64-pc-msys)

同様のことで悩んでおられる方の一助になれば幸いです:grin:

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1