[git] git을 부셔봅시다. - 1.Branch

offdutybyblo·2021년 1월 8일
0

Git

목록 보기
3/5
post-thumbnail

Prologue

첫 시작부터 git 공포증이 있었다. 현업 개발자로 일한지 어언 2달 어제도 마스터로 푸시할 뻔했다. 이런 실수와 공포증을 극복하기 위해서 주말 스터디원들과 의기투합했다. 깃 부셔보겠다.

1. Branch?

브랜치란 독립적으로 어떤 작업을 진행하기 위한 개념이다. 필요에 의해 만들어지는 각각의 브랜치는 다른 브랜치의 영향을 받지 않기 때문에, 여러 작업을 동시에 진행할 수 있다. 여러 명이서 동시에 작업을 할 때에 다른 사람의 작업에 영향을 주거나 받지 않도록, 먼저 메인 브랜치에서 자신의 작업 전용 브랜치를 만든다.

각자 작업을 진행한 후, 작업이 끝난 사람은 메인 브랜치에 자신의 브랜치의 변경 사항을 적용한다. 이러한 방식으로 작업할 경우 '작업 단위', 즉 브랜치로 그 작업의 기록을 중간 중간에 남기게 되므로 문제가 발생했을 경우 원인이 되는 작업을 찾아내거나 그에 따른 대책을 세우기 쉬워진다.

2. 통합 Branch

통합 브랜치란 언제든지 배포할 수 있는 버전을 만들 수 있어야 하는 브랜치 이다. 현재 작업 중인 소스코드의 모든 기능들이 정상적으로 동작하는 상태를 유지해야 한다. 보통 'Master'브랜치를 통합 브랜치로 사용한다.

3. Topic Branch

토픽 브랜치란, 기능 추가나 버그 수정과 같은 단위 작업을 위한 브랜치이다. 여러 개의 작업을 동시에 진행할 때에는, 그 수만큼 토픽 브랜치를 생성할 수 있다. 일반적으로 'feature branch'라고 부른다.

4. HEAD

'HEAD'란 현재 사용 중인 브랜치의 선두 부분을 나타내는 이름이다. 기본적으로는 'master'의 선두 부분을 나타낸다. 'HEAD'를 이동하면, 사용하는 브랜치가 변경된다.

커밋을 지정할 때, '~(물결기호)'와 '^(캐럿,삽입기호)'을 사용하여 현재 커밋으로부터 특정 커밋의 위치를 가리킬 수 있다. 이 때 자주 사용하는 것이 'HEAD'로서 ~ 과 숫자를 HEAD 뒤에 붙여 몇 세대 앞의 커밋을 가리킬 수 있다. ^은 브랜치 병합에서 원본이 여럿 있는 경우 몇 번째 원본인지를 지정할 수 있다.

profile
Front-End Devleoper 일껄요?

0개의 댓글