본문 바로가기
Developer/Git

Git branch 사용법 및 설명

by 아우럼 2024. 9. 10.
반응형

Git branch는 개발 중인 소스 코드를 분리해서 관리할 수 있는 매우 중요한 git의 기능입니다.

Git branch 설명

  • Git은 버전 관리(이력 관리)에 차원을 관리하면서 차원을 관리하는 branch 기능이 있습니다.
  • 예를 들면, main branch로 서비스하는 상태에서 또 다른 프로젝트팀에서는 새로운 branch 생성해서 개발을 진행할 수 있죠.
  • 개발이 완료된 후에는 main branch에 merge 작업을 통해 다시 1차원으로 버전을 관리할 수 있습니다.
  • 구글이란 회사의 youtube 개발자들은 프로젝트팀별로 branch를 생성하고, 개발 완성 시 main branch 소스 코드를 반영하여 서비스합니다.
  • 그림 설명을 참조하세요.

Git branch 설명.
Git branch 설명.

Git branch 사용법

1. Git branch 목록 확인 명령어.

  • 현재 Git branch 리스트를 확인 할 수 있는 명령어입니다.
git branch --all
git branch -v

branch 목록 확인 명령어.
branch 목록 확인 명령어.

2. Git branch 생성 명령어.

  • aurumguidebranch 이름의 git branch를 생성합니다.
  • git branch <브랜치 이름>
git branch aurumguidebranch

branch 생성 명령어.
branch 생성 명령어.

3. Git branch 전환 명령어.

  • 생성된 git branch로 이동하세요.
  • git switch <브랜치이름>
  • switch -c 옵션을 생성하면은 branch를 생성하면서 branch를 전환할 수 있습니다.
  • git switch -c 새브랜치이름
git switch aurumguidebranch
git switch -c newaurumguidebranch

branch 전환 명령어.
branch 전환 명령어.

4. Git branch merge.

  • 생성된 branch에서 파일을 추가하고 main branch에 내용을 merge 하는 작업을 하려고 합니다.
  • 생성된 branch에 echo 명령어 사용해서 내용, 파일을 추가합니다.
echo aurumBranch >> addbranch.txt
  • 생성된 file을 stage 상태로 변경합니다.
git add -A
  • 생성된 file을 commit 합니다.
git commit -m 'fileadd'
  • 생성한 branch(aurumBranch branch) 내용을 main branch에 merge 합니다.
  • Git branch main으로 변경합니다.
  • git merge [브랜치명]
git switch main

git merge aurumguidebranch

 

branch merge.
branch merge.

5. Git branch 삭제.

  • 생성한 branch 사용이 끝났으므로 삭제합니다.
  • git branch -d <branch 이름>
git branch -d aurumguidebranch
  • 원격 branch 생성했다면 원격 branch도 삭제할 수 있습니다.
push -d origin aurumguidebranch

branch 삭제.
Git branch 삭제.

Git Branch 장점, 단점

Git Branch 장점.

  • Git Branch는 독립적인 작업 환경 제공 각 브랜치는 별도의 작업 공간을 제공하므로, 개발자들은 서로 간섭 없이 독립적으로 작업할 수 있습니다.
  • 효율적인 협업 가능 팀 프로젝트에서는 각 작업자마다 Git Branch를 생성해 작업한 후, 병합(Merge)을 통해 코드를 통합할 수 있어 협업이 용이합니다.
  • 리스크 감소 새로운 기능을 개발하거나 버그를 수정하는 동안, 기존의 안정적인 코드는 보호되므로 실수를 최소화할 수 있습니다. 
  • 문제가 발생해도 브랜치를 삭제하거나 되돌리면 간단히 원상복구가 가능합니다.
  • 버전 관리의 용이성 Git Branch를 사용하면 프로젝트 내에서 시간에 따라 이력이 구분되기 때문에, 특정 시점의 상태로 돌아가기 쉽습니다.
  • 릴리즈 관리 최적화 개발 Branch, 테스트 Branch, 릴리즈 Branch 등으로 나누어 작업할 수 있어 소프트웨어 개발 과정이 체계적이고 효율적으로 관리됩니다.

Git Branch 단점.

  • 관리의 복잡성 Branch가 많아질수록, 이를 관리하고 병합 시 충돌을 해결하는 데 시간이 소요될 수 있습니다. 
  • 특히, Git Branch는 병합 충돌(Merge Conflict)은 초보자에게 어려운 부분이 될 수 있습니다.
  • 병합 시 어려움 다른 Branch에서 작업한 내용과 병합할 때, 코드 간 충돌이 발생할 수 있습니다.
  • 이 충돌을 해결하려면 코드의 변경 내역을 이해해야 합니다.
  • 불필요한 브랜치 축적 오래된 Branch나 사용하지 않는 Branch를 방치하면 저장소가 복잡해지고, 관리가 더 어려워질 수 있습니다.
  • 의사소통 문제 팀 프로젝트에서 브랜치 명명 규칙을 따르지 않거나 브랜치 전략(예: Git Flow 등)을 제대로 정하지 않으면 협업이 혼란스러울 수 있습니다.
반응형