2 つの git ベースのリポジトリがあり、そのうちの 1 つは何らかの形で別のリポジトリに依存しています。私はそれらの間のシンクロニシティについて少し心配しています。リポジトリの履歴に基づいて、安定した、常にビルド可能な状態を維持できます。マスターブランチとしましょう。しかし、それだけでは十分ではありません。
以前の状態をチェックアウトしたい場合は、両方のリポジトリが正しい状態に戻ったこと、およびリポジトリのこの状態が互いに対応していることを確認する必要があります。
例: A と B のリポジトリがあります。A1 は A リポジトリでの最初のコミットです。次のような履歴があります。
- A1 - A2 - A3 - A4
- B1 - B2 - B3
また、B3 - A4、B3 - A3 のペアが動作しています。ただし、B3 は A2 では機能しません。また、A リポジトリをポイント A2 に戻す場合は、B2 にも戻す必要があります。
申し訳ありませんが、私の説明は少し複雑です。
git-subtree とサブモジュールについては知っていますが、前者は履歴をマージし、後者は多くの理由で嫌いです。
だから、私は別の解決策を探しています。私が今行った唯一のことは、git-hooks を使用して、各リポジトリの上位コミットに関する情報を各コミット メッセージに追加することです。しかし、それには多くの手作業が必要です。毎回、リポジトリの以前の状態をチェックアウトします。さらに、リポジトリの物理的な場所によって異なります。