前提・実現したいこと
GitHubにおける開発、ステージング、本番のリポジトリの具体的な作成手順・管理方法
GitHubにおける外部の人のリポジトリの具体的な作成手順・管理方法
詳細
GitHubで開発、ステージング、本番とわけたいのですが、
具体的な作業としてはリモートリポジトリは3つ用意すればよいのでしょうか?
作業手順が知りたいのですが、、
1、ステージングのローカルリポジトリにクローンを作成する。
2、ステージングのリモートリポジトリを追加でつくる。
3、ステージングのリモートリポジトリに切り替えて、ローカルリポジトリにクローンをpushする。
本番用も同じように、この作業を繰り返せばよいのでしょうか?
また、外部の人にリモートリポジトリを丸々ではなく、一部共有する場合は外部の人用のリポジトリを新規で用意すべきですか?
部分的にソースコードを共有するよい方法が知りたいのですが、、
GitHubで運用したことがないため、運用方法がわかっていません。
GitHubは趣味程度の初心者です。お手数おかけしますが、よろしくお願いします。
開発、ステージング、本番はリポジトリを分けずに、ビルド時の設定で分ける (パスワードなどはそもそもリポジトリに登録しない) のが一般的かと。
外部とのやりとりは、どんな相手とどんな内容をどんな頻度でやり取りするかによるでしょうね…。
ご回答ありがとうございます。
なるほど。。もしかした調べ方を間違えて壮大な勘違いをしていますかね…。
こういう記事もあったため、わけるものかと思っていましたが、こちらが特殊ということでしょうか。
https://qiita.com/airkoda/items/09c33c27e3f59dc636bc
そもそもやりたいのは開発、ステージング、本番で使うファイルを一部変えたく、その切り替える方法を探しています。VSCodeのnuxt(Vue)で、その環境を作りたいと考えています。
あ、むしろ私が勘違いしてたかもしれません。git は分散バージョン管理システムなので、clone すれば同じ内容のものがコピーされます。普通は github などにマスターのリポジトリを一つ作って、それを開発マシンや各種サーバーに clone (clone は最初の一回だけ) して、開発者が自分のマシンでコミットした内容を github に push して、サーバーでは pull して使う流れです。リポジトリの物理的な場所は分散してるけど、感覚的には一つのリポジトリというイメージになります。
開発、ステージング、本番という環境の切り替えは、それぞれの設定内容を別々のファイル名で用意しておいて、起動コマンドのオプションや環境変数などで切り替えるのが一般的だと思います。例えば、Ruby on Rails であればこんな感じです。
https://pikawaka.com/rails/env
参考にされた記事を読み直したところ、、その記事では devlab とmaster は確かに異なるリポジトリですね。外部とのやりとりにこの方法を使うこともありうるとは思いますが、面倒くさそうな気がします…。
何度もありがとうございます。
おっしゃるとおり、調べなおしたところ、開発・本番はコマンドや環境変数で切り替えるのが一般的なようですね。
どうしてもわけたい場合は、自分専用のプライベートリポジトリを作っておくとかでしょうか。面倒になるのは私も気にしている部分です。なので、2つにしておいた方がよさそうですね。
分けたい理由によりますが、たとえば自分が実験・試行錯誤した内容を外に出したくないという理由であれば、自分のマシンのローカルなリポジトリの中でプライベートなブランチを切って、それは外部には push しないという使い方もできます。
回答2件
あなたの回答
tips
プレビュー