브랜치 (branch)란 무엇인가? 작업흐름은?

     

    브랜치(branch)란?

    직역한다면 나뭇가지이지만,

     

    개발적인 측면에서의 뜻을 풀이해본다면

    "독립적으로 어떤 작업을 수행하기 위해 만들어 주는것" 입니다.

     

    브랜치 (branch)

    위 그림에서 파란색으로 'Your Work' 라고 되어있는 원들과 주황색으로 'Someone Else's Work'라고 되어있는 원들은 Master로부터 나온 연두색 원들의 흐름에서 중간에 잠시 빠져나와 만들어지고 그 흐름으로 다시 들어간다.

    Branch 는 위와 같은 형태로 나와 다른 사람 두 명이 동시에 개발하는 것이다.

     

    • Branch는 사용자가 독립적으로 작업을 수행할 수 있도록 돕는 작업 흐름이다. 
    • 하나의 브랜치는 독립된 워크스페이스, 인덱스, 로컬 리포지토리, 리모트 리포지토리 공간을 갖는다. 
    • 실제로 개발자 A, B가 작업을 한다고 하면, A가 먼저 작업을 마무리 하고, B가 작업을 이어서 하는 것이 아니라 A, B가 동시에 자기 작업 파트를 개발한다. 
    • 이러한 경우 깃에서 Branch는 여러 작업을 각각 독립된 공간에서 진행할 수 있도록 돕는다. 즉, 하나의 프로젝트에서 여러 사람이 동시에 본인의 작업을 진행할 수 있다.

     

     

    브랜치(branch)를  이용한 작업 흐름

    1. 위 그림과 같이 각 개발자는 메인 브랜치에서 자신이 작업할 새로운 브랜치를 만든다.

    2. 각 개발자는 자신이 만든 브랜치 위에서 작업한 후, 리모트 리포지토리(GitHub 등)에 자신이 작업한 브랜치를 Push함

    3. 리모트 리포티조티레엇 메인 브랜치로 Pull Request 한 후, 다른 개발자들에게 리뷰를 받는다. 리뷰가 완료되면 메인 브랜치에 Merge 한다. 

     

     

    다른 버전 관리 도구들은 변경이 필요할 때, 프로젝트를 통째로 복사해야 하는 것과 비교한다면 Git은 순식간이다.

    또한, 커밋 할 때마다 커밋의 정보를 저장하기 때문에 Merge  할 때 어디서부터 합쳐야하는지 안다.

    이것이 개발자가 브랜치를 사용하게 만드는 이유이기도 하다. 

     

    'github' 카테고리의 다른 글

    다섯 가지 종류의 브랜치(Branch)  (0) 2024.09.23
    Git & Github 기본개념과 차이  (0) 2024.09.13

    댓글