1

一部のプロジェクトでソース コードの冗長性の改善に取り組んでいますが、問題に直面しています。

より多くのプロジェクトで使用するユーティリティがいくつかあるとしましょう。例: ビルド スクリプトとテスト スクリプトは、すべてのプロジェクトで使用できる汎用性を備えていますが、プロジェクトごとにカスタマイズできる構成ファイルもあります。

ビルド スクリプトのロジックを 1 か所で維持し (バグの修正と改善の追加)、それを使用するすべてのプロジェクトで簡単に変更できるようにしたいと考えていますが、構成ファイルを壊すこともありません。

構成ファイルをプロジェクト リポジトリではなくユーティリティ リポジトリにコミットする必要があるため、git サブモジュールではこれを実行できないことはわかっています。

私もgit-subtreeを見てきましたが、それが私が望むことをしているかどうかはわかりません。

誰かが前にこれに入ったのですか?

4

1 に答える 1

1

構成ファイルをプロジェクト リポジトリではなくユーティリティ リポジトリにコミットする必要があるため、git サブモジュールではこれを実行できないことはわかっています。

各プロジェクトが独自の git リポジトリである場合、実際にはサブモジュールを使用できます。
次に、各プロジェクト (親リポジトリ) は、ユーティリティ リポジトリの特定のブランチの特定のコミットを参照します。各ブランチには、各プロジェクト用に調整されたユーティリティが含まれます。

ただし、一連のファイルを緊密にリンクする場合 (一方はユーティリティ、もう一方はプロジェクト)、すべてを 1 つのリポジトリに保持し、コンテンツ フィルター ドライバーを使用することをお勧めします。

コンテンツ フィルター ドライバー

次のようになります。

  • テンプレートとしてバージョン管理された汎用ユーティリティ (つまり、値なし)
  • 値ファイル (プロジェクトごとに 1 つ)
  • smudge' ' スクリプトのチェックアウト時に、各プロジェクトで最終的なユーティリティを生成できるバージョン管理されたスクリプト(スクリプトがテンプレート ユーティリティのコンテンツを検出できる場合)。
于 2012-02-16T12:17:07.057 に答える