Git & Github

[Git] 평행세계 나누기: 브랜치(branch)

개발자 윤정 2021. 6. 6. 20:13

01. 브랜치란?

 

 

소프트웨어를 개발할 때에 개발자들은 동일한 소스코드를 함께 공유하고 다루게 됩니다.

동일한 소스코드 위에서 A개발자는 버그를 수정하기도 하고 B개발자는 새로운 기능을 만들어 내기도 합니다.

이렇게 여러 사람이 동일한 소스코드를 기반으로 서로 다른 작업을 할 때에는 서로 다른 버전의 코드가 만들어질 수 밖에 없습니다.

 

이럴 때 브랜치(branch)를 통해 각자 독립적인 작업 영역(저장소) 안에서 마음대로 소스 코드를 변경할 수 있습니다.

분리된 작업 영역에서 변경된 내용은 나중에 이전 버전과 비교해서 하나의 새로운 버전으로 만들어낼 수 있습니다.

 

 

 

02. master는 기본 브랜치

 

 

$ git push origin master

 

push 명령어는 master 브랜치(기본으로 만들어짐)에 커밋을 푸시하라는 뜻이었습니다.

 

 

※ HEAD: 내가 지금 작업하는 로컬 브랜치를 의미합니다.

 

 

03. 브랜치 생성

 

 

아래 명령어를 통해 현재 시점에 브랜치를 새로 만들 수 있습니다.

 

$ git branch 새로운 브랜치 이름

 

만약 HEAD가 master인 상태에서 

 

$ git branch b-branch

 

를 입력했다면 master에서 갈라져 나온 b-branch가 생성됩니다.

 

 

 

04. 브랜치 전환

 

 

아래 명령어를 통해 브랜치를 전환할 수 있습니다.

 

$ git checkout 전환하고자 하는 브랜치

 

만약 HEAD가 master인 상태에서 

 

$ git checkout b-branch

 

를 입력했다면 HEAD는 b-branch로 전환됩니다. 

 

 

 

05. 소스트리로 브랜치 생성

 

 

상단의 브랜치 버튼을 클릭해 새 브랜치를 생성해줍니다.

 

 

 

새로 만들어진 브랜치로 HEAD를 전환하고 커밋 푸시를 한다면, 

새 브랜치에는 해당 커밋이 푸시되어 있지만, 이전 브랜치에는 커밋이 푸시되어 있지 않습니다.

 

 

 

브랜치가 여러개일 경우 아래와 같이 그래프가 나눠집니다. 

 

 

 

참고

패스트캠퍼스 : 처음 배우는 Git & Github 강좌

https://backlog.com/git-tutorial/kr/stepup/stepup1_1.html