#2 Git의 역사
간단하게 설명하면 Git은 리눅스 개발 커뮤니티가 자체 도구로 개발했다.
이전에는 BitKeeper라는 상용 DVCS를 사용하고 있었으나, 갈등이 생기면서 자체 개발을 결정하게 된다.
Git 개발의 목표
BitKeeper의 철학을 기반으로 다음과 같은 목표 아래 Git이 만들어졌다:
- 빠른 속도
- 단순한 구조
- 비선형적인 개발
- 완벽한 분산
- 대형 프로젝트에서도 유용함
지금도 이러한 철학을 기반으로 Git은 진화하고 있다.
Git과 다른 시스템의 차이점
Git은 다른 VCS와 데이터를 저장하는 방식에서 큰 차이를 보인다.
1. 전통적인 VCS의 방식 (delta-based)
파일 간의 변경 사항(델타) 을 저장하는 방식이다.

- 각 버전은 이전 버전과의 차이(Δ) 로 구성됨
- 공간은 효율적이지만, 특정 시점의 복원이 상대적으로 느릴 수 있음
2. Git의 방식 (snapshot-based)
Git은 각 버전마다 전체 스냅샷을 저장한다.

- 모든 파일의 상태를 저장하고, 변경되지 않은 파일은 이전 버전의 포인터를 참조함
- 덕분에 빠르게 특정 시점으로 이동하거나 복원할 수 있음
- 즉, Git은 델타가 아닌 스냅샷 시스템이다
이러한 구조 덕분에 Git은 안정성과 속도 면에서 큰 강점을 가지게 되었다.