티스토리 뷰

브랜치(Branch) ? 

git 은 동시에 여러 개발자들이 프로젝트에서 각기 다른 기능을 개발할 수 있도록 브랜치(Branch) 기능을 제공합니다.

 

서로 다른 브랜치는 작업을 함에 있어서 서로에게 영향을 받지 않는다는 점에서 마음 놓고 서로 다른 개발작업을 수행할 수 있습니다.

 

 

Branch 의 동작 과정

브랜치의 동작 과정은 다음과 같은 예시로 표현할 수 있습니다.

 

기본적으로 git 저장소를 만들면 master branch가 생성됩니다. 이 branch 는 일반적으로 배포가 가능한 수준의 안정화된 버전을 포함하고 있습니다.

 

그래서 별도의 브랜치를 만들어 ( git branch "브랜치 이름" ) 사용하고자 한다면

체크아웃 명령어 ( git checkout "브랜치 이름") 를 이용해야 합니다.

위 그림의 브랜치 사용 예시는 다음과 같습니다.

 

  • Master Branch
    • git repository 의 기본 branch
    • 지속적으로 배포 가능한 수준의 안정성을 확보할 필요가 있음
  • Develop Branch
    • 기존 버전에 새로운 기능을 추가 개발하기 위해 새로 만든 branch
  • Bug Fix Branch
    • 기능 추가 작업과 동시에 기존 버전에 버그가 발견되어 이를 fix 하기 위해 만든 branch

이렇게 2개의 추가적인 branch 를 두어 버그 수정과 기능 추가를 동시에 진행할 수 있습니다.

더불어 master branch 에서는 합치기(merge) 가 수행되기 전까지는 안정적으로 배포하는 상태가 유지되고,

모든 기능이 합쳐진 이후에 다시 배포할 수 있으므로 개발의 안정성이 매우 뛰어나게 됩니다.

 

이러한 branch 는 다음과 같은 이름으로 분류합니다.

 

  • 통합 브랜치 : 배포가 가능한 수준의 브랜치로 일반적으로 마스터 브랜치를 의미
  • 토픽 브랜치 : 특정한 기능을 위해 만들어진 브랜치로 일반적으로 마스터 브랜치 이외의 다른 브랜치를 의미

 

 

Branch 사용 해보기

일단 프롬프트창에서 내 repository 를 clone 한 폴더의 위치로 이동합니다.

새로운 브랜치를 만들고 싶을 때에는 

git branch "브랜치 이름" 

 

명령어를 이용합니다. 저는 develop 이라는 이름의 브랜치를 만들어보겠습니다.

이후 현재 내 repository 의 브랜치가 어떻게 구성되어 있는지 확인하고 싶다면

git branch

 

명령을, 이 중 특정 브랜치로 전환하고 싶다면 

git checkout "전환하고 싶은 브랜치 이름"

 

명령어를 이용합니다. 이동 후에는 HEAD가 해당 브랜치로 이동하게 됩니다.

 

위 그림처럼 HEAD가 develop 브랜치로 전환된 상태에서 기존 소스코드를 수정해보겠습니다.

 

이 후에 git add -> git commit 을 진행해 주시면 현재 HEAD 가 가리키고 있는 브랜치인 develop 브랜치에서 커밋이 진행됩니다.

 

git log

 

명령어로 로그를 확인해 보시면 master브랜치의 윗 부분에 develop 브랜치가 존재하는 걸 확인할 수 있습니다.

 

이제 마스터 브랜치로 이동

git checkout master

 

해서 develop 브랜치를 병합(Merge) 할 수 있습니다.

git merge develop

 

병합 후 log 를 확인 git log 해 보면 마스터 브랜치와 develop 브랜치가 동일한 커밋 내역을 가지게 된 걸 확인할 수 있습니다.

 

푸시까지 진행해 주시면 원격지 저장소인 git hub에도 반영되는 것을 확인할 수 있습니다.

물론 git push 명령은 master branch 에서 가능합니다!!

 

git push

 

이 후 develop branch는 자기 역할을 다 했으므로 d 옵션을 넣은

git branch -d "제거할 브랜치 이름"

 

명령어를 통해 제거하도록 하겠습니다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함