원격저장소에서 협업하기 : 브랜치(Branch)

특정 기준에서 줄기를 나누어 작업할 수 있는 기능을 **브랜치(Branch)**라고 한다.

커밋은 바로 이전에 만들었던 커밋을 포인터로 가르키게 된다.

HEAD 라는 특수한 포인터를 이용해서 브랜치 사이를 넘나들 수 있다.

브랜치 실습 : 만들고 이동하기

대체로 하나의 브랜치에는 한 명만 작업을 한다. 작업이 꼬일 수 있기 때문에 개발시 다음과 같은 간단한 Branch 규칙을 정하기도 한다. 아래는 예시다.

  1. Master 브랜치에는 직접 커밋을 올리지 않는다. ( 동시에 작업하다 꼬일 수 있으니 )
  2. 기능 개발을 하기 전에 Master 브랜치를 기준으로 새로운 브랜치를 만든다.
  3. 이 브랜치 이름은 "feature/기능이름" 형식으로 하고 한 명만 커밋을 올린다.
  4. "feature/기능이름" 브랜치에서 기능 개발이 끝나면 Master 브랜치에 이를 합친다.

브랜치를 만들어 보자

"feature/detail-page" 라는 브랜치를 만들어 기능을 추가해보자.

다른 이용자가 다른 기능을 만드는 입장에서

다른 개발자가 '장바구니'기능을 만든다고 가정해보자. feature/detail-page 브랜치에 남아서 브랜치를 만들면 다른쪽에서 만들던 수정본이 반영되므로 Master 브랜치로 돌아가서 새로운 브랜치를 만들어야한다. 수정본이 반영되지 않기 위해서 Base브랜치를 잘 설정해야한다.