모든 버전 관리 시스템은 브랜치를 지원한다.
개발을 하다 보면 원래 코드와는 상관없이 독립적으로 개발을 진행할 때가 있는데,
이럴때 브랜치가 사용된다.
그래서 브랜치란 무엇인가
브랜치는 커밋 사이를 이동할 수 있는 포인터 같은 것이다.
기본적으로 Git은 master 브랜치를 만든다. 처음 커밋하면 이 master 브랜치가 생성된 커밋을 가리킨다.
이후 커밋을 만들면 master 브랜치는 자동으로 가장 마지막 커밋을 가리킨다.
그럼 여기서 브랜치를 만든다면 어떻게 될까?
아래의 명령어로 새로운 브랜치를 만들 수 있다.
아래의 버전은 새로운 브랜치를 만들고 바로 이동하는 명령어이다.
$ git branch new_branch
$ git checkout -b new_branch
그럼 지금 작업중인 branch가 어느것인지 확인은 어떻게 할까?
답은 git branch를 이용하는 것이다.
*가 앞에 있는 것이 현재 branch다.
$git branch
이제 new_branch로 이동해보자.
$git checkout new_branch
그럼 여기서 commit을 해보면 어떻게 될까??
master 브랜치는 그대로지만 new_branch와 그걸 가리키는 head는 새로운 커밋을 가리키게 되었다!
그럼 여기서 아래의 코드로 master 브랜치로 돌아가면??
$git checkout master
다시 master 브랜치가 가리키던 커밋으로 돌아온 걸 볼 수 있다.
이제부턴 new_branch와 별개로 진행되는 것이다.
여기서 커밋을 한번 해보면 어떻게 될까?
이렇게 프로젝트가 10e9q라는 커밋을 기점으로 분리되어 진행할 수 있는 것이다.
이제 checkout을 통해 자유롭게 브랜치를 옮겨다니며 작업을 하고 적절할 때 두 브랜치를 merge한다.
그렇다면 브랜치를 사용하는 장점은?
1. 작업 분리와 안정성 유지
브랜치는 새로운 기능이나 버그 수정을 독립적으로 진행할 수 있는 환경을 제공한다.
이를 통해 작업 도중 발생할 수 있는 오류가 메인 코드에 영향을 주지 않으므로 프로젝트의 안정성을 유지할 수 있다.
2. 효율적인 협업 지원
여러 명의 개발자가 각각의 브랜치에서 동시에 작업할 수 있어 개발 속도가 빨라지고,
개발자간의 충돌을 최소화할 수 있다.
3. 유연한 버전 관리와 릴리즈 전략
- 브랜치를 이용해 기능별, 릴리즈별로 코드베이스를 분리할 수 있어, 특정 시점의 코드로 되돌아가거나 긴급한 버그 수정을 독립적으로 적용하는 것이 용이하다. 이는 릴리즈 관리와 긴급 패치 처리에 매우 유리하다.
4. 코드 품질 유지와 테스트 용이성
- 기능 개발이 완료되면 코드 리뷰를 통해 품질을 검토하고 테스트한 후 메인 브랜치에 병합할 수 있어, 프로젝트의 코드 품질을 높일 수 있다.
-
- 테스트용 브랜치를 생성하여 새로운 기능이나 버그 수정을 테스트해볼 수 있으며, 테스트 결과에 따라 안전하게 수정 및 업데이트가 가능하다.
다음은 브랜치를 병합(Merge)하는 방법에 대해 알아볼 것이당.
'Git' 카테고리의 다른 글
[Git] README.md 설정하기 (0) | 2024.11.26 |
---|---|
Git 사용법 (1) | 2024.11.25 |