더북(TheBook)

2 브랜치로 해결하기

 

앞 두 사례의 문제는 모두 브랜치로 해결할 수 있습니다. 브랜치는 버전의 분기입니다. 작업을 분기하고 싶을 때 브랜치를 나누면 되지요.

 

브랜치는 버전을 여러 흐름으로 나누어 관리하는 방법이라고 했죠? 여러 흐름으로 버전을 나누어 관리한다는 말은, 쉽게 말해 다음 3단계로 버전을 관리하는 것을 의미합니다.

 

1 | 브랜치를 나눈다.

2 | 각자의 브랜치에서 작업한다.

3 | (필요한 경우) 나눈 브랜치를 합친다.

 

그림 4-8 | 브랜치를 통한 버전 관리하기

 

첫 번째 사례에서 브랜치를 어떻게 활용할 수 있는지 알아볼까요? A와 B는 어느 정도 완성된 쇼핑몰에서 코드를 통째로 복사하지 않고 각자의 브랜치를 나눕니다. A는 쇼핑몰 코드에서 ‘장바구니’라는 이름의 브랜치를 나누었고, B는 ‘주문 목록’이라는 이름의 브랜치를 나누었다고 해봅시다.

 

그림 4-9 | 쇼핑몰 코드에서 브랜치 나누기

 

이제 A와 B는 나누어진 각자의 브랜치에서만 작업하면 됩니다. A는 장바구니 브랜치에서 장바구니 기능을 만들고, B는 주문 목록 브랜치에서 주문 목록 기능을 만들면 되지요.

 

그림 4-10 | 각자 브랜치에서 작업하기

 

각자의 작업이 끝나면 A와 B의 브랜치를 하나로 합칩니다. 그러면 A의 작업과 B의 작업은 자동으로 하나로 통합됩니다. 브랜치가 하나로 통합되면 쇼핑몰 코드는 장바구니 브랜치에서 A가 작업한 내용과 주문 목록 브랜치에서 B가 작업한 내용을 모두 포함하게 됩니다. 이때 A와 B는 ‘같은 코드를 다르게 수정한 부분’만 살펴보면 됩니다.

 

그림 4-11 | 나누어진 브랜치 합치기

 

두 번째 사례에서 브랜치를 사용하는 예도 살펴봅시다. C 회사는 프로그램을 계속해서 개발하며 릴리스할 것입니다. 이 과정에서 새로운 요구 사항이 생긴다면 그에 맞는 브랜치를 생성하고, 그렇게 나누어진 브랜치에 요구 사항을 반영하면 됩니다. 버전별로 요구 사항이 아무리 많아져도 브랜치를 나누면 그만이니 코드를 통째로 복사할 필요는 없겠죠?

 

그림 4-12 | C 회사 프로그램에서 브랜치 나누기

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.