大人の事情で、自分たちが使用しているリポジトリの一部を、別リポジトリに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)
同様のことで悩んでおられる方の一助になれば幸いです