Git은 분산 버전 제어 시스템이다. 조직내 여러 개발자는 main repository를 local로 복사본을 생성하여 유지 관리하고 편집하고 커밋할 수 있다.
작업이 remote repository와 상호 작용하지 않기 때문에 커밋이 매우 빠른 장점이 있다. remote repository가 충돌(conflict)하는 경우 local repository에서 파일을 복구할 수도 있다.

여기서 불변성은 일단 데이터가 Git에 기록되면 변경할 수 없음을 의미한다. 수정은 새 데이터 버전만 생성한다. 이전 데이터는 변경되지 않은 상태로 유지된다.
변경 불가능한 시스템 설계는 금융 시스템 및 버전 제어 시스템과 같이 높은 수준의 감사 기능이 필요한 시스템에서 일반적으로 사용된다. Git 디자인에서 사용되는 방법은 다음과 같다.
