[Git] Branch

LMH·2022년 11월 14일
4
post-thumbnail

지난 포스팅에서 Local Repository와 Remote Repository를 연결하고 변경된 파일을 원격으로 Push하는 과정을 다루었습니다. 오늘은 브랜치(Branch)에 대해서 정리하고자 합니다.

소프트웨어 개발을 하면서 많은 개발자들이 소스코드를 공유게 되는데 이 때 개발자마다 각자 다른 버전의 코드가 생성되게 됩니다. 이러한 경우 동시에 다양한 작업이 이루어질 수 있도록 하는 기능이 브랜치입니다.

예를 들어 두 개발자가 협업하는 상황을 가정한다면, 각 브랜치에서 A라는 개발자는 새로운 기능을 추가하고 B라는 개발자는 버그를 수정할 수 있습니다. 그 이후 브랜치를 병합(Merge)을 통해 새로운 브랜치로 만들 수 있습니다.

브랜치의 종류

통합 브랜치(Integration Branch)

통합 브랜치는 언제든지 배포할 수 있는 버전을 만들 수 있어야 하는 브랜치입니다. 어플리케이션에서 문제가 발견 되거나 기능이 추가되어야 하는 경우 토픽 브랜치를 만들어 개발을 진행합니다.

통합브랜치 예시) version 1.0. -> verstion 1.1 -> version 1.2

토픽 브랜치(Integration Branch)

통합브랜치에서 떨어져나와 버그 수정과 같은 단위 작업을 하는 브랜치입니다. 토픽 브랜치 작업이 완료되고 나면 통합 브랜치와 병합해가며 개발을 진행 합니다.

브랜치 만들기

git branch <브랜치 이름>
git branch issue // issue라는 브랜치 생성

브랜치 전환하기

git에서는 작업할 브랜치를 미리 선택하고 작업을 진행해야 합니다. 우선 저장소를 만들면 git에서 자동으로 'main'이라는 브랜치를 만들게 됩니다. 새로운 브랜치에서 작업하기 위해서는 우선적으로 새로운 브랜치로 이동 해야합니다.

브랜치가 전환되면 브랜치 안에 있던 마지막 커밋 내용이 작업 트리에 펼쳐집니다.

git switch <브랜치 이름>
git switch issue // main 브랜치에서 issue 브랜치로 이동

git switch -c <브랜치 이름>// 브랜치 생성과 함께 이동

현재 사용 중인 브랜치의 선두 부분을 나타내는 이름입니다. HEAD 이동하면, 사용하는 브랜치가 변경 됩니다.
HEAD 뒤에 '^', '~' 기호를 이용하여 몇 세대 앞 커밋을 가리킬 수 있습니다.

stash

일시적으로 변경 내용을 다른 곳에 저장해서 브랜치 이동 시 충돌을 피할 수 있습니다.

브랜치 통합하기

merge 명령어로 병합할 커밋 이름을 넣어 실행하면, 지정한 커밋 내용이 'HEAD'가 가리키고 있는 브랜치로 들어 갑니다. 브랜치를 통합하기전 main 브랜치로 이동 후 병합을 진행합니다.

// 현재 브랜치 : issue
git merge <커밋> // 특정 commit을 'HEAD'가 가리키는 브랜치로 이동
git switch main // issue 브랜치에서 main 브랜치로 이동
git merge issue // issue와 main 브랜치 병합

브랜치 삭제하기

git branch -d <브랜치 이름>
git branch isuue  // issue 브랜치 삭제

브랜치 확인

git branch // 존재하는 브랜치 확인

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

profile
새로운 것을 기록하고 복습하는 공간입니다.

0개의 댓글