[Git] 브랜치 Branch

Bam·2022년 3월 3일
0

Git

목록 보기
14/32
post-thumbnail

브랜치 Branch

일반적으로 브랜치 라고 함은 '나뭇가지'를 떠올리게 됩니다. 하나의 나무 줄기에서 여러개의 가지로 뻗듯이 버전 관리 시스템에서 파일들의 갈래(흐름)을 의미하고 있습니다. 파일 시스템으로 이야기하자면 하나의 파일로 부터 여러개의 파일로 나누어 분산 작업을 진행하는 것 입니다. 더 간단히 야매처럼 이야기하면 하나의 파일의 복사본을 만들어서 각기 작업한다~ 정도가 되겠습니다.

왜 브랜치를 이용하나요

그렇다면 왜 브랜치라는 것을 사용할까요?
그 이유는 하나의 작업 트리를 여러 용도로 사용하기 위해서 입니다. 하나의 작업 트리를 가지고도 한 사람은 새로운 기능을 추가하는 작업을 할 수도 있고, 다른 사람은 버그를 수정할 수도 있고요. 이럴때 원본 파일 하나만 가지고 하면 추가와 수정 사항에서 여러므로 꼬이는 현상이 발생합니다. 그래서 브랜치 기능을 이용하면 하나의 파일을 복사해서 한사람은 신기능 추가, 다른 사람은 버그 수정 후 병합(merge)하게 되면 하나의 파일을 여러사람이 효과적으로 이용하게 된 셈이 되는 것이죠. 이러한 장점 덕분에 브랜치 기능을 이용하게 됩니다.

브랜치 과정 알아보기

간단하게 브랜치 과정을 살펴보도록 하겠습니다.개발 과정에서 파란색을 따라 개발을 합니다. 이때, 회색 원은 커밋이라고 가정합니다. 이때 두번째 커밋 과정에서 브랜치를 만들어서 한쪽은 버그 수정을 하고 한쪽은 개발과정을 이어나가게 됩니다.

이때 브랜치 이전의 파일내용은 (가)라고 한다면, 브랜치 과정에 이 파일이 복사가 되어, 버그 수정 브랜치에서는 (가)+수정 사항이, 파란색 개발 과정 브랜치에서는 (가)+새로운 기능이 있는 두 개의 파일이 만들어집니다. 그 후 병합 과정을 거치게 되면 비로소 다음 커밋에서 (가)+수정 사항+새로운 기능이 있는 파일로 완성이 됩니다.

이것이 브랜치 진행과정을 간단하게 그림으로 그려본 것 입니다.

0개의 댓글