先日、GitでローカルのブランチAをコピーして同内容のブランチBを作る方法がないじゃん!とあれこれ悩んだので、このことをすっかり忘れて今後悩む時が来た時のために忘備録を残しておきます。
TL;DR
コピーしたいブランチから git checkout -b
でブランチを作成する。
以下全てが余談
なぜ、いつもやっていることなのに変に難しく考えてしまってこんな簡単なことに気づかなかったんだという気持ちしかないですね。よく考えなくても、ブランチを作成した直後って派生元のブランチと全く同じ状態だから、言うなればそれがコピーじゃん!
当初は変に難しく「 -m
でブランチの名前を変更することはできるけど、ブランチをコピーする方法はないな。リモートリポジトリを経由するしか方法はないか……」と考えてしまって
- ローカルのブランチAをリモートにpushする
git push origin branchA
- ローカルのブランチAの名前を変更する
git branch -m branchA branchB
- リモートのブランチAをローカルでcheckoutする
git checkout branchA
上記の手順でブランチAをコピーしてブランチBを作るしかないかと思っていたけど、全然そんなことはなかった!ただ単にブランチAから git checkout -b
するだけでよかった!
結局、Twitterでボソッと呟いた時にフォロワーからもらった助言で気づけたので、やはり悩みは外に出してみた方がいいなと思いました。