master以外のbranchをリモート(origin)にpushする

Posted by Tatsuyano on Sat, Feb 23, 2013
In
Tags git

master以外の別branchをリモートにpushする

git push origin new-branch

git branch -a
  master
* new-branch
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/new-branch # <- 追加される

origin/master以外のリモートにあるbranchをローカルに追加する

git branch new-branch origin/new-branch # <- 本来ならこれでうまくいくのだが

# なぜかすでにローカルにあるリポジトリから、新たに追加されたリモートのブランチが参照されていない
git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
# remotes/origin/new-branch <- 本来参照されるはずのブランチ

うまくいかないので、いったんローカルのリポジトリを破棄し、新たにcloneしなおしてみる

mv local-repository local-repository.bk

git clone ssh://hoge/var/git/remote-repository.git local-repository
cd local-repository/

git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/new-branch # <- 追加されている

参考サイト

以下のサイトを参考にさせていただきました。ありがとうございます!