1.2 파일, 폴더 시스템

사실 여러분은 버전 관리 툴을 사용하기 이전부터 버전 관리를 해왔을지도 모릅니다. 무슨 뜻이냐고요?

혹시 학교나 회사에서 문서 작업할 때 문서 이름을 다른 이름으로 계속 저장한 적 없으신가요? 예를 들면 이런 식이죠.

[그림1-1] 여러 버전의 문서
[그림1-1] 여러 버전의 문서

문서를 변경하면서 이전에 작업했던 내용으로 돌아갈 수도 있기 때문에 변경 사항을 작업 중인 파일에 덮어쓰지 않고 새로운 파일로 생성합니다. 이때 파일 이름을 다르게 저장해서 나름 버전 역할을 하도록 합니다.

버전 관리의 시작도 이와 다르지 않습니다. 파일을 변경한 후 그 이력을 유지하기 위해 파일을 저장하고 폴더에 버전 정보를 붙입니다. 새로운 작업을 할 때는 폴더 전체를 복사하고 이름을 변경합니다.

[그림1-2] 파일/폴더 시스템
[그림1-2] 파일/폴더 시스템

위 [그림1-2]는 파일/폴더 시스템의 모습을 나타냅니다. 파일/폴더 시스템을 사용하면 작업에 대한 기본적인 버전을 관리할 수 있습니다.

이 방법은 사용자의 실수에 취약합니다. 작업을 하다 실수로 이전 버전 폴더에 덮어써서 이전 버전 내용을 잃어버릴 수 있습니다. 심지어 특정 버전이 다른 버전으로 잘못 덮어써졌다는 것을 알아차리지 못할 수도 있습니다. 이렇게 한번 잘못된 버전이 사용되면 프로젝트는 심각하게 오염되기 시작합니다.

파일을 되돌릴 때는 어떨까요? 따로 변경 사항에 대해 기록해 두지 않은 이상 버전별로 파일이 어떻게 변경됐는지 알 수 없습니다.

이런 단점을 해결하기 위해 나온 것이 로컬 버전 관리 시스템입니다.


목록보기



[책] 토미의 Git with 소스트리

Git을 제대로 알고 싶으신 분들께 추천드립니다.



[온라인 강의] 토미의 Git & Github

Git을 제대로 알고 싶으신 분들께 추천드립니다.