他のリポジトリにpushする時
こんにちは。
今回の記事は誰かの役に立つというよりは、
自分の備忘録的な部分になるので、もし参考になる人がいたら、
コメントとかスターとかつけてもらえると嬉しいです。
扱うケース
今回、扱うケースとしては、
そういう場合でどうすればいいか分かるように書きます。
例えばですが、最近Githubがプライベートリポジトリを無制限に作成可能になったので
以下のユースケースは考えにくいですが、
BitBucketで作っていたものが完成したのでGithubで公開したい
とかが該当するのではないかなと思います。
今回は、開発用のリポジトリと本番環境用のリポジトリがある時を考えてやっていきます。
それでは、始めます。
ステップ
- 現状のリモートリポジトリを確認
- 思い出す
- はっ......さては......
現状のリモートリポジトリを確認
(今回はGIthub、httpsで扱っている時を例にします。)
$ git remote -v
とコマンドを打つと、
origin https://github.com/[user_name]/[repo_name].git (fetch) origin https://github.com/[user_name]/[repo_name].git (push)
上記のように現在登録されているリポジトリが出てくると思います。
思い出す
$ git remote add origin https://github.com/[user_name]/[repo_name].git
と打つように指示がなされていたかと思います。
そして、
$ git push -u origin master
と打つことでソースコードがGit上にpushしますよね。
ここで、全く疑問を感じずに-u
とかremote add
とかしているとのちに壁にぶち当たるわけですよ。
(僕みたいに)
はっ......さては......
調べて今さら知りました。
リモートリポジトリは名前を変えれば加えられること。
ここでは本番環境のリリースブランチにpushすることを想定するとしましょう。
$ git remote add prod https://github.com/[user_name2]/[prod_repo].git
こうすれば
$ git remote -v
としたときに
origin https://github.com/[user_name]/[repo_name].git (fetch) origin https://github.com/[user_name]/[repo_name].git (push) prod https://github.com/[user_name2]/[prod_repo].git (fetch) prod https://github.com/[user_name2]/[prod_repo].git (push)
と表示されていると思われます。
そして、pushするときは
$ git push prod release
と打てばpordとしたリポジトリのreleaseブランチにpushされているはずです。
書くの忘れた
すっかり書くのを忘れましたが、-u
をつけると、push、pullするときにデフォルトのリポジトリとしてみてくれて、
次回から
$ git pull
とかしても-u
オプションをつけた方から自動的にpullされるようになります。
まとめ
改めて考えてみたら、「そんなことか」みたいなことですが、案件でinitial commitするのなんてPMかPLくらいですし、
自分でゴリゴリ開発している人の方がずっと理解していそうだなぁと思いました。
考えりゃわかるだろ系記事ですが、備忘録までに......。
パンチの効いた検証を思いついたけど、いろんな意味の学習コストが半端ない。