2

現在、社内のさまざまなプロジェクト間で共有されるコードをリファクタリングしています。この共有コードは、Git サブモジュールとして他のプロジェクトに含まれます。

私たちが心配していることの 1 つは、プロジェクトの特定の段階でサブモジュールからスーパー プロジェクトに導入された変更を破壊することです (例: 安定すべきポイント/コード フリーズ)。

これまでサブモジュールを扱ったことはありませんが、私の知る限り、サブモジュールは別のリポジトリの特定のコミットを参照しているため、プロジェクト内のサブモジュールを更新しない限り、基本的には問題ありません。

私の別のチームメイトは、プロジェクトの「安定段階」 (例: 開発の終了) に入るたびに、サブモジュールのブランチを作成し、それを指すようにすることを提案しました。これはオーバーヘッドであり、間違っているように思えます (共有プロジェクトは、それを使用する他のプロジェクトとバージョンロックされるべきではありません)。

要約すると、私の質問は次のとおりです。

  1. サブモジュールの更新 (重大な変更) からスーパー プロジェクトを保護するために行うべきことはありますか?
  2. 安定した段階に入るスーパー プロジェクトが、そのサブモジュールの新しいブランチを作成して参照する既知のワークフローはありますか? (リンクは素晴らしいでしょう)。
4

1 に答える 1