web-dev-qa-db-ja.com

Git:ブランチまたはフォーク?

2つのバージョンを持つゲームプロジェクトがあります。

  1. ゲームのコアであるシンプルなバージョン。
  2. ゲームの高度なバージョン。

私の公開リポジトリには最初のバージョンがあり、私だけがそれに取り組んでいます。 2nd versionは僕の友達2人と一緒にやります。重要なのは、2つのバージョンをリポジトリに残しておくことです。

私はこれにブランチを使うかもしれないと思っていましたが、 この質問とその答え を考えると、バージョン管理の観点からそうすることはお勧めできません。私の知る限り、独自のリポジトリをフォークすることはできません。

ここに私のオプションは何ですか?リポジトリに両方のバージョンを保持するにはどうすればよいですか?

19
Varaquilex

私には、2つのRepositoriesは2つ必要ですBranchesは必要ないようです。ブランチは、単一のリポジトリ内の変更を処理して、最終的にそれらを残りのコードとマージするためのメカニズムです。

Similar code-baseの両方のバージョンを同じリポジトリに保存したい場合、唯一の選択肢はBranchにすることですが、前述のように、ブランチの主な目的は、開発期間中に特定のコミットを他のコードと競合しないように分離し、準備ができたらそれらをマージすることです。

リポジトリにわずかに異なる2つのブランチがある場合があります-たとえば、同じソースコードの32ビットバージョンと64ビットバージョンですが、オプションの場合は、リポジトリを分離することをお勧めします。

11
Mahdi

「クローンまたはフォークする必要がある」という質問への回答は、「このプロジェクトの自分用のバージョンが欲しいですか?」という質問への回答とまったく同じです。はい=フォーク、いいえ=リポジトリを複製します。

Gitでは、ブランチは軽量なもので、多くの場合一時的なものであり、削除される場合があります。フォーク(github上)は、以前のプロジェクトに基づく新しいプロジェクトです。チームメンバーとしてリポジトリを操作するには、リポジトリを複製します。

多くの公共プロジェクトでは、プロジェクトをフォークして、作業中の変更をメインプロジェクトから除外しています。

フェーズ2の場合、プロジェクトをフォークしてから作業中のコンピューターにクローンを作成し、友達にも同じようにしてもらいます。

6
DwB

あなたが本当に望むように聞こえるのはサブモジュールです。最初のリポジトリ(プライベートシンプルリポジトリ)を作成し、それをサブモジュールとしてアドバンスバージョンリポジトリに追加すると、プライベートシンプルリポジトリを開発するときに、アドバンスリポジトリのサブモジュールへの変更を追跡およびプルできるはずです。

1
Ryan Holleran