Git bash 창을 열면 명령어를 입력하는 곳 맨 오른쪽에 master라는 글자를 확인 할 수 있다.
해당 문구는 'master'라는 브랜치를 뜻하는 것이다.
오늘은 Git에서 가장 중요한 개념 중 하나인 Git branch에 대해 알아보려고 한다.
Git Branch란?
Git 브랜치는 프로젝트에서 "새로운 가지"를 친 작업 공간이라고 할 수 있다.
예를 들어, master 브랜치에서 새로운 기능을 개발하기 위해 별도의 브랜치를 만들어 독립적으로 작업하고,
작업이 완료되면 다시 master 브랜치에 병합하는 방식이다.
이렇게 하면 master 브랜치의 안정성을 유지하면서도 실험적이거나 새로운 기능을 손쉽게 추가할 수 있다.
Git 브랜치를 사용하면 다음과 같은 이점이 있다:
- 안정적인 작업 환경 제공: master 브랜치에 영향을 주지 않고 다양한 시도를 할 수 있다.
- 효율적인 협업: 여러 개발자가 동시에 작업하더라도 충돌을 최소화할 수 있다.
- 작업 관리의 유연성: 작업을 나누고 통합하며 프로젝트를 체계적으로 관리할 수 있다.
Master Branch
master 브랜치는 Git 저장소에서 기본적으로 생성되는 첫 번째 브랜치로,
프로젝트의 주요 작업물이 관리되는 핵심 브랜치다.
일반적으로 master 브랜치는 항상 안정적인 코드를 유지하도록 관리하며, 배포 가능한 코드를 보관하는 역할을 한다.
master 브랜치의 특징
안정성
- master 브랜치는 모든 브랜치의 기준점으로 사용되며, 항상 신뢰할 수 있는 상태를 유지해야 한다.
- 버그나 오류가 없는 코드를 유지하는 것이 중요하다.
병합의 최종 목적지
- 다른 브랜치에서 작업이 완료되면 최종적으로 master 브랜치에 병합된다.
- 따라서 병합 전에 충분히 테스트를 거쳐야 한다.
배포 준비 상태
- master 브랜치의 코드는 배포 가능한 상태여야 하며, 프로덕션 환경에 적용되는 최종 결과물로 사용된다.
브랜치의 사용
기본적으로 진행하는 커밋은 master 브랜치에서 진행되지만
브랜치를 생성하고 해당 브랜치로 이동하게 되면 그 뒤의 커밋은 새로 만든 브랜치에서 진행하게 된다.
협업을 하고 있다면 팀원들 끼리 기능을 나눠서 각각의 브랜치에서 작업을 하고 마지막에 병합하여
하나의 프로그램으로 배포가 가능해진다.
아래의 명령어들은 브랜치를 다룰 수 있는 명령어를 정리해 놓았다.
브랜치 관련 명령어
현재 브랜치 목록 확인
git branch
출력 결과
* master feature/login
feature/signup
여기서 *는 현재 선택된 브랜치를 나타낸다
새로운 브랜치 생성
git branch 브랜치명
해당 명령어를 사용하면 가지를 뻗을 수 있는 새로운 브런치를 생성한다.
브랜치 이동
git checkout 브랜치명
현재 있는 브랜치에서 다른 브랜치로 이동한다.
브랜치 생성 및 이동
git checkout -b 브랜치명
브랜치를 생성과 동시에 해당 브랜치로 이동한다.
브랜치 병합하기
새로운 기능을 개발했거나 테스트를 완료하는 등 다른 분기로 뻗어나간 브랜치는
최종적으로 삭제해주거나 병합을 해줘야 한다. 그래야 배포할 수 있는 최종 빌드가 나오기 때문이다.
git merge 브랜치명
해당 명령어를 사용하면 현재 브랜치와 명령어의 브랜치를 병합(merge)할 수 있다.
브랜치 삭제하기
작업이 끝난 브랜치는 삭제를 할 수 있는데 병합되지 않은 변경사항이 있다면 일반적인 삭제 명령어로는
삭제되지 않는다. 혹시 모를 데이터의 유실을 막기 위함이다.
아래의 명령어는 일반적인 삭제를 위한 명령어이다.
git branch -d 브랜치명
하지만 그런 상황과 관계 없이 강제적으로 삭제를 해줘야 할 때도 있는데
아래의 명령어를 이용하면 강제로 삭제할 수도 있다.
git branch -D 브랜치명 // 강제 삭제
브랜치 이름 변경
git branch -m 새_브랜치명
현재 브랜치의 이름을 변경한다.
git branch -m 기존_브랜치명 새_브랜치명
현재 브랜치가 아닌 특정 브랜치를 선택해 이름을 변경한다.
브랜치 커밋 로그 확인하기
git log 브랜치명
특정 브랜치의 커밋 이력을 확인할 수 있다.
브랜치 간의 차이 비교하기
git diff 브랜치1 브랜치2
두 브랜치 간의 어떤 차이가 나는지 비교할 수 있다.
오늘은 브랜치에 대해 알아보았다.
아직은 배우고 있는 입장이라 협업의 기회가 없어서 이론적으로나마 알고 있지만
이런 이론을 접해봐도 정말 중요한 개념이라는 것을 확실히 알 수 있었다.
잘 기억해놓고 꼭 써먹는 날이 왔으면 좋겠다.
'개발 > GIT' 카테고리의 다른 글
[Git] - Git 시작하기 (feat.기본 명령어) (1) | 2025.01.13 |
---|---|
[Git] - Git 개념 및 초기 세팅 (2) | 2025.01.05 |