우리는 앞서 Git 기초에서 개발자들이 협업하기에 최적의 툴이라는 것을 배웠다. 소프트웨어를 개발할 때에 개발자들은 동일한 소스코드를 함꼐 공유하고 다루게 된다. 동일한 소스코드 위에서 어떤 개발자는 버그를 수정하기도 하고 또 다른 개발자는 새로운 기능을 만들어 내기도 한다. 이처럼 여러 사람이 동일한 소스코드를 기반으로 서로 다른 작업을 할 때에는 서로 다른 버전의 코드가 만들어 질 수 밖에 없다.
이런 경우 여러 개발자가 동시에 서로 다른 작업을 할 수 있게 만들어주는 기능이 바로 "브랜치"이다.
브랜치란 독립적으로 어떤 작업을 진행하기 위한 개념이다. 개발을 하다보면 한 페이지 안의 여러 기능을 따로 구현하기 위해, 코드를 여러개로 복사해야하는 일이 자주 생긴다. 브랜치의 기능을 활용하면 코드를 통째로 복사한 후 원래코드가 변결될 우려 없이 독립적으로 개발할 수 있다.
즉, 각각의 브랜치는 다른 브랜치의 영향을 받지 않기 때문에 여러 작업을 동시에 진행할 수 있다.
여러명이서 동시에 작업을 할 때, 다른 사람의 작업에 영향을 주거나 받지 않도록 먼저 통합 브랜치에서 자신의 작업전용 브랜치를 만든다.
그리고 각자 브랜치에서 맡은 영역에 대한 작업을 진행한 후 작업이 끝난 브랜치는 통합 브랜치에 병합해서 변경 사항을 적용한다. 이를 통해 다른 브랜치의 작업에 영향을 받지 않고 독립적으로 특정작업을 수행하고 그 결과를 하나로 모아 나가게 된다. 이렇게 작업을 진행하게 되면 "작업 단위" 즉, 브랜치로 그 작업의 내용들이 모두 기록되기 때문에 문제가 발생했을 때 원인이 되는 작업을 찾아내거나 그에 따른 대책을 세우기 쉬워진다.
: dev 브랜치를 master 브랜치로 병합할 때(dev -> master)