
69
4
장
모범 사례와 버전 관리
4.3
버전 관리
필자가 여기서 버전 관리의 가치를 설명할 필요는 없으리라 생각합니다. 요약하자면 버전 관리
에는 세 가지 장점이 있습니다.
문서화
프로젝트 역사를 되짚어보면서 어떤 결정을 내렸고, 어떤 순서로 구성 요소를 개발했는지 알
수 있다는 것은 그 자체로 훌륭한 문서입니다. 프로젝트 역사를 일목요연하게 파악할 수 있으
면 큰 도움이 됩니다.
작성자
팀에서 일한다면 누가 무엇을 만들었는지 파악하는 것도 대단히 중요합니다. 불분명하거나 의
문스러운 코드를 발견했을 때 누구에게 물어보면 되는지 알 수 있다면 몇 시간을 아낄 수도 있
습니다. 코드에 있는 주석을 읽고 의문이 풀릴 때도 있지만, 그렇지 않을 때는 누가 답을 알고
있는지 알 수 있습니다.
실험
버전 관리 시스템을 사용하면 자유롭게 실험할 수 있습니다. 프로젝트의 안정성이 떨어질 것을
걱정하지 않고 새로운 것을 시도해볼 수 있습니다. 실험이 성공적이면 프로젝트에 반영하고,
실패했다면 접으면 됩니다.
필자는 몇 년 전부터 분산형 버전 관리 시스템을 사용했습니다. 여러 가지를 경험해본 뒤 선택
을 깃과 머큐리얼
Mercurial
로 좁혔고, 결국 깃을 선택했습니다. 하지만 둘 다 훌륭한 버전 관리 시
스템이고 무료이므로, 어느 것을 써도 됩니다. 이 책에서는 깃을 사용하겠지만 ...