Git은 개발자에게 필수적인 버전 관리 시스템이지만, 대규모 환경에서 중앙 서버에 호스팅할 경우 확장성에 큰 어려움을 겪습니다. 특히 Git의 핵심인 팩파일(packfile)의 랜덤 접근 패턴, 강력한 일관성 요구, 그리고 복제 비용은 시스템 운영을 복잡하게 만듭니다. 이러한 문제 해결을 위해 GitHub가 개발한 Spokes는 업계 표준이 되었지만, 최근 대형 모노레포(monorepo)와 AI 에이전트가 생성하는 수많은 작은 저장소에는 비효율적이라는 한계가 드러났습니다. 이에 코드 에디터 개발사 커서(Cursor)는 새로운 Git 저장 시스템 '컨티뉴이티(Continuity)'를 공개하며 대규모 Git 호스팅의 새로운 해법을 제시했습니다.
컨티뉴이티의 핵심은 S3 호환 객체 스토리지의 쓰기 선행 로그(Write-Ahead Log, WAL)를 '진실의 원천(source of truth)'으로 삼는 것입니다. 기존 Spokes 방식이 각 복제본(replica)에 실제 Git 저장소를 두고 3단계 커밋(3-phase commit)으로 동기화하는 반면, 컨티뉴이티는 모든 Git 변경 사항을 S3 WAL에 기록하고 로컬 저장소는 필요할 때 언제든 다시 만들 수 있는 '캐시'처럼 취급합니다. 모든 푸시(push)는 WAL에 완전히 저장된 후에야 성공으로 처리되며, S3의 비교 및 교환(CAS) 연산을 통해 모든 푸시를 선형화(linearizable)하여 일관성을 보장합니다. 이 덕분에 저장소별 리더 선출이나 합의 프로토콜(consensus protocol) 없이도 어떤 서버든 주 서버(primary) 역할을 할 수 있으며, 복제본들은 가십(Gossip) 프로토콜로 빠르게 동기화하고 읽기 직전 S3로 검증하여 항상 최신 상태를 유지합니다.
이러한 설계는 Git 호스팅의 확장성 문제를 근본적으로 해결합니다. 대형 모노레포의 경우 수백 개의 복제본을 유연하게 추가하여 CI(지속적 통합) 트래픽과 읽기(fetch) 부하를 분산할 수 있습니다. 반대로 AI 에이전트가 생성하는 수많은 작고 임시적인 저장소에는 최소한의 복제본만 유지하거나 아예 로컬 디스크에서 제거했다가 필요할 때 WAL에서 재구성할 수 있습니다. 이는 기존 Spokes가 모든 저장소에 최소 3개의 복제본을 강제하여 발생하는 비효율성을 해소합니다. 또한, WAL과 Git의 리팩(repack) 작업을 통합하여 시스템 유지보수 비용을 절감하고, 모든 상태 변경이 WAL에 기록되므로 데이터 손상 시에도 과거 상태를 추적하고 복구할 수 있는 강력한 감사(provenance) 기능을 제공합니다. 컨티뉴이티는 기존 Git 사용 방식을 바꾸지 않으면서도 AI 시대의 변화하는 Git 트래픽 패턴에 맞춰 더 높은 신뢰성, 성능, 확장성을 제공하는 것을 목표로 합니다.