모든 버전 관리 시스템은 브랜치를 지원한다.

개발을 하다 보면 원래 코드와는 상관없이 독립적으로 개발을 진행할 때가 있는데,

이럴때 브랜치가 사용된다.

 

그래서 브랜치란 무엇인가


브랜치는 커밋 사이를 이동할 수 있는 포인터 같은 것이다. 

기본적으로 Git은 master 브랜치를 만든다. 처음 커밋하면 이 master 브랜치가 생성된 커밋을 가리킨다.

이후 커밋을 만들면 master 브랜치는 자동으로 가장 마지막 커밋을 가리킨다.

 

git init 후에 커밋 두번 한 상태

 

그럼 여기서 브랜치를 만든다면 어떻게 될까?

아래의 명령어로 새로운 브랜치를 만들 수 있다.

아래의 버전은 새로운 브랜치를 만들고 바로 이동하는 명령어이다.

$ git branch new_branch
$ git checkout -b new_branch

 

branch를 생성후 아직 new_branch로 이동하지 않은 상태

 

그럼 지금 작업중인 branch가 어느것인지 확인은 어떻게 할까?

답은 git branch를 이용하는 것이다.

*가 앞에 있는 것이 현재 branch다.

$git branch

 

 

이제 new_branch로 이동해보자.

 

$git checkout new_branch

 

checkout 명령어로 new_branch로 이동한 상태

 

그럼 여기서 commit을 해보면 어떻게 될까??

 

커밋을 하나 더 한 상태

 

master 브랜치는 그대로지만 new_branch와 그걸 가리키는 head는 새로운 커밋을 가리키게 되었다!

그럼 여기서 아래의 코드로 master 브랜치로 돌아가면??

$git checkout master

 

다시 master 브랜치로 돌아간 상황

 

다시 master 브랜치가 가리키던 커밋으로 돌아온 걸 볼 수 있다. 

이제부턴 new_branch와 별개로 진행되는 것이다.

여기서 커밋을 한번 해보면 어떻게 될까?

 

master 브랜치에서 추가 커밋을 한 상황

 

이렇게 프로젝트가 10e9q라는 커밋을 기점으로 분리되어 진행할 수 있는 것이다.

이제 checkout을 통해 자유롭게 브랜치를 옮겨다니며 작업을 하고 적절할 때 두 브랜치를 merge한다.

 

그렇다면 브랜치를 사용하는 장점은?


1. 작업 분리와 안정성 유지

 

브랜치는 새로운 기능이나 버그 수정을 독립적으로 진행할 수 있는 환경을 제공한다.

이를 통해 작업 도중 발생할 수 있는 오류가 메인 코드에 영향을 주지 않으므로 프로젝트의 안정성을 유지할 수 있다.

 

2. 효율적인 협업 지원

 

여러 명의 개발자가 각각의 브랜치에서 동시에 작업할 수 있어 개발 속도가 빨라지고,

개발자간의 충돌을 최소화할 수 있다.

 

3. 유연한 버전 관리와 릴리즈 전략

  • 브랜치를 이용해 기능별, 릴리즈별로 코드베이스를 분리할 수 있어, 특정 시점의 코드로 되돌아가거나 긴급한 버그 수정을 독립적으로 적용하는 것이 용이하다. 이는 릴리즈 관리와 긴급 패치 처리에 매우 유리하다.

4. 코드 품질 유지와 테스트 용이성

  • 기능 개발이 완료되면 코드 리뷰를 통해 품질을 검토하고 테스트한 후 메인 브랜치에 병합할 수 있어, 프로젝트의 코드 품질을 높일 수 있다.
    • 테스트용 브랜치를 생성하여 새로운 기능이나 버그 수정을 테스트해볼 수 있으며, 테스트 결과에 따라 안전하게 수정 및 업데이트가 가능하다.

 

다음은 브랜치를 병합(Merge)하는 방법에 대해 알아볼 것이당.

 

 

'Git' 카테고리의 다른 글

[Git] README.md 설정하기  (0) 2024.11.26
Git 사용법  (1) 2024.11.25

+ Recent posts