본문 바로가기
코딩 공부/Git

Git Branch

by JH-M 2023. 5. 8.

Git 브랜치란?

git branch는 Git 에서 빼놓을 수 없는 핵심적인 기능 중 하나입니다. 간단하게 설명하자면, 프로젝트에서 독립적으로 작업을 진행하고자 할 때 새로운 분기점을 생성하는 것입니다.

기본적으로 프로젝트를 시작하면 'main'이라는 기본 브랜치가 있습니다. 이 브랜치에서 작업을 진행할 수도 있지만, 여러 사람이 동시에 작업을 진행하거나 다양한 기능을 독립적으로 개발하고자 할 때, 새로운 브랜치를 만들어 병렬적으로 작업을 수행할 수 있습니다.

예전에 기본 브랜치 이름은 'master' 였습니다. 이 이름이 바뀐 이유는 인종차별과 관련된 용어이기 때문에 지금은 'main'으로 대체되었습니다.

새로운 브랜치를 만들면 기존 브랜치의 상태를 그대로 복사해옵니다. 이후 해당 브랜치에서의 작업은 다른 브랜치에 영향을 주지 않습니다. 작업이 완료되면 기존 브랜치와 병합(merge)하여 최종 결과물을 만들 수 있습니다.

git branch 명령어를 사용해서 현재 프로젝트의 모든 브랜치 목록을 확인할 수 있으며, 새로운 브랜치를 생성하거나 삭제할 수도 있습니다. 이를 통해 프로젝트에서 여러 가지 작업을 독립적으로 진행하면서 코드 관리를 용이하게 할 수 있습니다.

Git 브랜치 사용 예시

  1. 병렬 작업 진행: 여러 작업을 독립적으로 수행하고자 할 때
  2. 코드 리뷰 및 테스트: 작업 전에 코드 검토와 테스트를 원활하게 진행하기 위해
  3. 변경 이력 관리: 작업별 세분화된 변경 이력을 명확하게 관리하기 위해
  4. 테스트 및 롤백: 새로운 아이디어나 기능을 테스트하고, 실패 시 원래 상태로 쉽게 되돌리기 위해

브랜치 전략

Git Branch 전략은 Git을 사용하여 협업하는 과정에서 사용하는 브랜치 전략으로, 주로 다음과 같은 세 가지 전략이 사용됩니다.

  1. Feature Branch 전략: 각각의 기능을 개발할 때, 새로운 브랜치에서 개발하고, 개발이 완료되면 다시 메인 브랜치로 병합하는 방식입니다. 이를 통해 기능 개발 단계에서 개발자 간 충돌을 최소화하고, 버그를 예방할 수 있습니다.

  2. GitFlow 전략: 배포 주기에 따라 브랜치를 나누는 전략입니다. main 브랜치와 develop 브랜치를 사용하여, 기능 개발을 빠르게 진행하고, 배포 전에 검증과 테스트를 거쳐 배포하는 방식입니다.

  3. GitHub Flow 전략: GitFlow와 비슷하게 브랜치를 나누는 전략입니다. main 브랜치를 사용하여, 모든 변경 사항은 개별 브랜치에서 수행한 후 메인 브랜치로 병합하는 방식입니다. 이를 통해 배포 시점에서의 충돌을 방지하고, 빠른 반영을 가능하게 합니다.

각 전략은 장단점이 있으며, 프로젝트의 목적, 규모, 구성원의 수 등을 고려하여 적절한 전략을 선택해야 합니다. 프로젝트 내에서 일관된 전략을 사용하서 보다 브랜치를 체계적으로 관리할 수 있습니다.

Git 브랜치 튜토리얼

이 글은 이전 글 Git 시작하기 - 기본 명령어 튜토리얼에 이어서 진행됩니다.

1. 새로운 브랜치 생성

side라는 새로운 브랜치를 생성합니다.

$ git branch side

2. 브랜치 확인

다음 명령으로 생성된 브랜치를 확인합니다.

$ git branch 
main
side

mainside 브랜치가 있는 것을 확인할 수 있습니다.

3. 브랜치 전환

아래 명령으로 side 브랜치로 전환합니다.

$ git checkout side

4. 파일 수정

간단하게 파일을 수정하겠습니다. 아래는 test.txt 파일에 add를 추가하는 명령입니다.

$ echo add >> test.txt

5. 파일 내용 확인

다음 명령으로 test.txt 파일 내용을 확인합니다.

$ cat test.txt
init
add

6. 변경사항 커밋

커밋으로 변경사항을 기록합니다.

$ git add test.txt
$ git commit -m "add 추가"

7. 다른 브랜치로 전환

main 브랜치로 다시 돌아옵니다.

$ git checkout main

8. 병합 전 파일 내용 확인

다음 명령으로 test.txt 파일 내용을 다시 확인합니다.

$ cat test.txt
init

바로 전에 side 브랜치에서 추가한 add가 보이지 않습니다.

9. 변경사항 병합

이제 side에서 변경한 내용을 merge 명령으로 병합해 보겠습니다.

$ git merge side

10. 병합 후 파일 내용 확인

다시 test.txt 파일 내용을 확인해 보겠습니다.

$ cat test.txt
init
add

현재 main 브랜치인데 side에서 추가한 add가 병합되어 보이는 것을 확인할 수 있습니다.

튜토리얼을 통해 Git 브랜치를 사용해 별도의 작업 공간을 생성하고, 병합하는 과정을 공부해 보았습니다. 브랜치를 활용해서 여러 작업을 독립적으로 진행하고 효율적으로 코드를 관리할 수 있습니다.

Git 브랜치 튜토리얼 명령어 요약

  1. git branch side: 브랜치 생성
  2. git branch: 브랜치 확인
  3. git checkout side: 브랜치 전환
  4. echo add >> test.txt: 파일에 내용추가
  5. git add test.txt: 변경사항 추가
  6. git commit -m "메시지": 변경사항 커밋
  7. git checkout main: 다른 브랜치로 전환
  8. cat test.txt: 파일 내용 확인
  9. git merge side: 변경사항 병합

댓글