gitでリモートブランチをローカルにコピーしようとして失敗した
なんのことはなく、あるPCで作業した内容をGitHubのブランチにpushして
自宅PCにコピーしようとしたときに失敗したので原因と対策をメモ。
コピーしようとしたブランチをfeature/hogeとすると
最初、自宅PCにはそのブランチがなかったので
こんなふうにコマンドを入力した。
git checkout -b feature/hoge
しかし、作成したブランチに作業した内容が反映されている様子はない。。。
どうやら、以下のようにするのが正解だったよう。
git checkout -b feature/hoge origin/feature/hoge
最初のコマンドだと、ローカルに新たにブランチを作成しただけだったんですね。
ちなみに、この失敗をした時に
作成したブランチを一度削除する必要があったのでその方法もメモ。
git branch -d feature/hoge
でいけます。
ちなみに、今回の作業の逆として
ローカルでブランチ切って、それをリモートに反映させるには
次のようにします。
# ローカルブランチを作成 git checkout -b feature/piyo # そのままpushするとリモートブランチが切られる git push origin feature/piyo # 試しにやってみただけなので削除 git branch -d feature/piyo git push origin :feature/piyo
(2013/12/11 追記)
最後の
# そのままpushするとリモートブランチが切られる git push origin feature/piyo
というのは、本当は
git push origin <ローカルのブランチ名> <リモートに作成したいブランチ名>
という書き方なんだけど、ブランチ名が同じでいい場合は
後ろの<リモートに作成したいブランチ名>は省略できますよーというものらしい。