서버 없이 할 수 있는 일
저장소를 가진 참여자는 로컬에서 이력을 비교하고 새로운 커밋과 분기를 만들 수 있다. 네트워크가 없더라도 일정한 개발 작업을 진행할 수 있다.
다른 참여자에게 변경을 전달하거나 새 변경을 받는 과정에는 통신과 권한이 필요하다. 분산형이라는 말이 모든 협업 단계에 서버가 필요 없다는 뜻은 아니다.
공식 저장소와 양립한다
프로젝트는 특정 저장소를 공식적인 통합 지점으로 정할 수 있다. 기술적으로 여러 복사본이 존재하는 것과 사회적으로 승인된 버전이 무엇인지는 다른 문제다.
검토 요청과 승인 절차는 변경을 통합하는 협업 방식이다. 분산 버전 관리 자체가 모든 프로젝트에 하나의 동일한 검토 체계를 강제하지는 않는다.
이력의 결합
참여자들은 공통 이력을 바탕으로 서로 다른 변경을 만들고 나중에 통합할 수 있다. 충돌은 같은 내용의 차이뿐 아니라 기능과 의존 관계의 불일치에서도 발생한다.
병합 결과가 기록됐다는 사실만으로 응용 프로그램이 정상이라는 결론은 나오지 않는다. 검토와 테스트는 기록 관리와 다른 역할을 맡는다.
복사본의 범위와 책임
모든 복제가 항상 모든 외부 파일과 모든 과거 데이터를 포함하는 것은 아니다. 얕은 복제와 부분 복제, 대형 파일의 별도 저장 등 구현 및 설정에 따라 범위가 다를 수 있다.
따라서 복제본이 있다는 사실만으로 완전한 복구가 가능하다고 판단해서는 안 된다. 어떤 이력과 자료를 보유하고 어디에 권한이 있는지 확인해야 한다.