2011-01-19 7 views
3

私はGITがプロジェクトを組織することができるかどうか評価しています。 ローカルネットワーク上でVisual Studio 2010を使用してWindows上で作業しています。GITで複数のプロジェクトを整理するにはどうすればいいですか?

次のように私たちのプロジェクト組織は、次のとおりです。

我々はすべての開発者がバグ修正を、拡張、変更して行うことを許可されている共有コードベースを(SHAREそれを呼び出す)があります。 すべての開発者には、共有コードベースに依存する複数のプライベートプロジェクトがあります。 ので、構造は次のとおりです。

root 
    | 
    +-- SHARE 
    +-- Project 1 Dev 1 
    +-- Project 2 Dev 1 
    +-- Project 1 Dev 2 

私は何を考えることだけでなく、開発者のPC上で各プロジェクトのすべての開発者のPCと1つのプライベートリポジトリのクローンを持つネットワークドライブ上の1つの原点リポジトリ(ネットワーク上のおそらくいくつかのバックアップです)。良いことは、開発者がプロ​​ジェクトをチェックアウトするときに正しい共有ソースを取得できるように、いくつかの種類のリンクです。 これはGITで可能ですか?

もっと良い方法をお勧めしますか?

答えて

3

グッドは、リンクのいくつかの種類、開発者は自分の プロジェクトをチェックアウトしたとき、彼は同様に正しい共有 ソースを取得するように だろう。これは GITで可能ですか?

Submodulesあなたが後にしているおそらく何である - 彼らはあなたがそうサブプロジェクトの正確な「状態」に関するメタデータとの主なもの(「親プロジェクト」)内の他のいくつかのレポへの「ポインタ」を記憶させ誰もが一貫した共有サブプロジェクトに取り組んでいます。

サブモジュールそのものは他のリポジトリと同様に作業し改善することができ、「状態」ポインタは適切なときにいつでも新しく合意したバージョンに更新することができます。

あなたのスーパープロジェクトには1つのサブモジュール「shared」があり、devsがメインリポジトリをクローンすると、git submodule init && git submodule updateが実行され、必要に応じてサブモジュールが自動的に設定されます。

+0

私があなたを取得するかどうかを確認するだけです。 SHAREのネットワークには1つのレポがあります。 そして、すべての開発者プロジェクトには、ローカルリポジトリがあります。これには、SHAREがサブモジュールとしてありますか? このように設定しようとしています。 – Michael

+0

うん、右の音。 –

+0

これをGit Extensionsで設定しようとしましたが、問題が見つかりました。多分あなたは私を助けることができます。私はテストと呼ばれる1つのレポと、SHAREと呼ばれる1つのレポを持っています。サブモジュールSHAREをプロジェクトテストに追加しようとすると、Gitは常にSHAREからtest \ SHAREにすべてのファイルをコピーしたいと考えています。しかし、私はそれらをコピーしたくありません。 – Michael

関連する問題