ゆうなんとかさんの雑記帳的な。

Twitterで踊ったり音ゲーしたりしてるあの名前がよくわからない人が書いてるらしいよ。

gitのローカルとリモートのリポジトリでブランチを別の名前にしたいのっぴきならない事情ができたので、コマンドでそれできないか調べてたらできた

どうも、最近はHerokuとunicornの海に溺れています。ADO.NETの大草原からは一時的に救出してもらいましたが、今後はそのまま別の海に沈められている感じです。
さて、Herokuはgit pushするとあとはいい感じにデプロイしてくれるのですが、反応してくれるブランチはmasterだけなんですよね。私が知らないだけで設定を変えればそうではなくなるのかもしれませんが、Herokuを開発・ステージング用サーバーにしていると確認のためだけに動くのかよくわからないコミットをmasterブランチにマージしないといけないんですよね。これなんかなーと思ってたのですが、実はpushするときに対応するブランチを変えることができるのです。

$ git push リモートリポジトリの名前 ローカルのブランチ:リモートのブランチ
# 例
$ git push heroku heroku-dev:master #こんな感じにするといちいちmasterにマージしなくていいよ

これでOK。

リモートブランチの消し方

ちなみにこれを応用する感じでリモートブランチを消すことができます。

$ git push heroku :master #こんなのやっちゃだめだよ

最初の例からローカル側を空白にするだけです。これでリモートリポジトリ「heroku」の「master」ブランチが消せます。リモートのmasterブランチを消すのは害悪、はっきりわかんだねherokuでmasterブランチを消すのはやめましょう*1

*1:ちなみに私はチキンなので砂場みたいな所でもたぶんこのコマンドは打てないでしょう