2

私は git を初めて使用し、既存のプロジェクトを git に移行する任務を負っています。私が抱えている問題は、それが実際には2つのプロジェクトだということです。プロジェクトを「One」と呼びましょう。1 つは、実際にはレポート サイトと、個々のプロジェクトで使用されるコード テンプレートのグループの両方です (これにより、レポート サイトはプロジェクト間で標準的なレポートを実行できます)。開発サーバーとレポート サーバーでレポート サイトを実行し、開発サーバーと運用サーバーにコード テンプレートを配置したいと考えています。そのため、両方のリポジトリが必要になる場合もあれば、1 つだけ必要になる場合もあります。一方は、次のようなコード構造で記述されています。

/one (generic main dir, no files, only sub-dirs)
  /onesource  (PHP source code for the reporting site)
  /onerept    (reports run by the reporting site)
  /onelib     (templates)
  /oneinc     (include files used by templates)
  /oneadmn    (files used by both)

したがって、レポート サイト リポジトリには onesource および oneerept サブディレクトリを含める必要があり、テンプレート リポジトリには onelib および oneinc ディレクトリを含める必要があります。必要に応じて、oneadmn ディレクトリをサーバー間の共有マウントにすることができます。現在、すべてが共有マウントとして設定されていますが、これは複数の理由で問題があります。

これをgitで設定するにはどうすればよいですか?

4

2 に答える 2

4

標準的なルールは次のとおりです。開発、バージョン管理、およびリリースされたものはすべて、1 つのリポジトリにまとめられます。その結果、独立したバージョン番号を持つプロジェクトの一部は、独自のリポジトリに移動します。

その理由は、git のブランチとタグは常にリポジトリ全体に及ぶためです (Subversion とは異なります)。

そのルールでは、すべてを 1 つの大きなレポに入れる必要があると思います。


どのサーバーでどのデータが必要かについて: 必要なものだけをコピーする展開プロセスを使用するか、すべてをチェックアウトするだけです。あなたの質問からすると、すべてを利用できるようにしても害はないようです。

とにかく、特定のサーバーで特定のディレクトリ構造が必要な場合、それは展開の問題です。リポジトリは、展開用ではなく、開発用に配置する必要があります。展開は後で行われ、独自のツール セットがあります。

于 2015-01-23T14:19:25.140 に答える