우리가 코드로 무언가를 만드는 일은 유의미한 변화(버전)들을 쌓아 올리는 것과 같습니다. 벽돌이 모이고 모여 거대한 건물이 완성되듯, 버전이 모이고 모여 거대한 소프트웨어 결과물이 만들어지는 것이죠.
그림 1-12 | 여러 버전이 쌓여 만들어지는 소프트웨어
버전 관리는 앞에서 언급한 문제를 발생시키지 않으면서 유의미한 변화를 쌓아 올리며 소프트웨어를 만들어 나가는 과정이라 볼 수 있습니다. 다시 말해, 개발에서 버전 관리는 다음과 같이 정리할 수 있습니다.
• 누가, 어떻게 변경했는지 변경 내역들을 기억하며
• 필요하다면 특정 시점의 버전으로 되돌리며
• 여러 명이 협업하는 과정에서 코드를 쉽게 나누고 합치며
• 개발하는 것
아직은 버전 관리가 무엇인지 분명히 와닿지 않는 독자가 있을 수 있습니다. 다만 버전 관리는 말로 이해하는 것보다는 직접 손으로 실습하고 눈으로 확인하며 이해하는 것이 더 쉽기 때문에, 앞으로 있을 설명과 실습을 잘 따라온다면 버전 관리가 무엇인지 더욱 분명히 알 수 있을 것입니다.