みなさん、こんな事ないですか??
developブランチから切ったブランチAにdevelopブランチの変更分を取り込みたい。
けど、ブランチAのファイルをうっかり消してしまったので、また新たに二つのブランチの最新版のコードを用意したい。自分はこのような状況に遭遇しました。
developブランチをクローンして、ブランチAを切ってから、git pullでコードの最新化をしてもいいんですが、コミット履歴が汚くなってしまった経験があったので、二つのブランチの最新バージョンを同時に用意したいなと思ってました。
そのような場合の対処方法を学んだので、備忘録として残しておきます。
やろうとした事
- ブランチAとdevelopブランチの最新化バージョンを同時に用意する
方法
(1) developブランチをクローンする
git clone -b develop https:/github/....
cd github
(2) (確認するため) 現在のブランチの確認
git branch
(3) (確認するため) git branch -rでリポジトリのリモートブランチを確認
git branch -r
/// 下記のように出る
origin/HEAD -> origin/develop
origin/A
origin/B
origin/C
....
(4) git checkout -b A origin/A で ブランチAの最新バージョンのコードをクローン+ブランチへのチェックアウトができる
git checkout -b featA origin/A
まとめ
(4)により、ブランチAの最新コードとdevelopの最新コードをローカルに用意することができました。
重要なのは、リモートリポジトリ上にあるブランチからダウンロードするために origin/Aとすることです。