ਮੋਨੋਰੈਪੋ (ਬਹੁਤ ਸਾਰੀਆਂ ਪ੍ਰੋਜੈਕਟਾਂ/ਸੇਵਾਵਾਂ ਲਈ ਇੱਕ ਰਿਪੋਜ਼ਿਟਰੀ) ਅਤੇ ਪੋਲੀਰੈਪੋ (ਹਰੇਕ ਪ੍ਰੋਜੈਕਟ ਲਈ ਇੱਕ ਵੱਖਰੀ ਰਿਪੋਜ਼ਿਟਰੀ) ਕੋਡ ਨੂੰ ਕਈ ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਸੰਗਠਿਤ ਕਰਨ ਲਈ ਦੋ ਰਣਨੀਤੀਆਂ ਹਨ। ਹਰੇਕ ਦੇ ਸਹਯੋਗ, ਟੂਲਿੰਗ ਅਤੇ ਸਕੇਲਿੰਗ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਨ ਵਾਲੇ ਮਹੱਤਵਪੂਰਨ ਟ੍ਰੇਡ-ਆਫ ਹਨ — ਉਹਨਾਂ ਨੂੰ ਸਮਝਣਾ ਮਹੱਤਵਪੂਰਨ ਆਰਕੀਟੈਕਚਰਲ ਫੈਸਲਿਆਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਦਿੰਦਾ ਹੈ।
ਮੋਨੋਰੈਪੋ — ਸਭ ਕੁਝ ਲਈ ਇੱਕ ਰੀਪੋ
Many projects/services/libraries in a SINGLE repository:
✓ SHARED code/libraries easy to use and refactor (one place, atomic changes)
✓ ATOMIC commits across projects (change an API and all its consumers together)
✓ Unified tooling, versioning, CI; consistent standards; easy cross-project visibility
✓ Simplified dependency management (one version of shared code)
✗ Repo can get HUGE (needs scaling tooling — sparse checkout, build caching)
✗ Needs sophisticated build/CI tooling (Nx, Turborepo, Bazel) to be efficient
✗ Broad access; CI must be smart (only build what changed)
→ Used by Google, Meta, etc. (with heavy tooling investment).
