多くのユーザーがその柔軟さ故に Git を分散型バージョン管理システムとして採用しています。特に Git のブランチとマージのモデルは、分散型の開発ワークフローを実現する強力な方法となっています。この柔軟性が大半のユースケースに機能する一方で、それほど美しく扱いきれないこともいくつかあります。そのようなユースケースの一つは、monorepo という大きな一枚岩のリポジトリで Git を使用することです。この記事では、Git を使用して monorepo を扱う際の課題について説明し、その問題を緩和するヒントを提供します。 monorepo とは? さまざまな定義がありますが、我々は monorepo を以下のように定義します。 論理プロジェクトを二つ以上含むリポジトリ (iOS クライアントやウェブアプリケーションなど) 各プロジェクトはほとんど関連がなく、疎結合、または異なる方法で繋がっ