본문 바로가기
카테고리 없음

Git 브랜치와 브랜치 종류

by 강아지톡톡-아지톡 2024. 10. 4.
반응형

Git 브랜치는 독립적으로 어떤 작업을 진행하기 위한 개념입니다. 브랜치를 통해 여러 개발자가 동시에 다양한 작업을 할 수 있습니다.

1 브랜치의 정의:

  • 브랜치는 특정 커밋에 대한 참조(포인터)입니다.
  • 하나의 프로젝트를 여러 갈래로 나누어 관리할 수 있게 해줍니다.

2 브랜치가 필요한 이유:

a) 병렬 개발::

  • 여러 기능을 동시에 개발할 수 있습니다.
  • 각 개발자가 독립적인 작업 공간을 가질 수 있습니다.

b) 안정성 유지::

  • 메인 코드(보통 master 브랜치)의 안정성을 해치지 않고 새로운 기능을 개발할 수 있습니다.
  • 실험적인 기능을 별도의 브랜치에서 안전하게 시도할 수 있습니다.

c) 버전 관리::

  • 각 브랜치를 통해 서로 다른 버전의 코드를 관리할 수 있습니다.
  • 릴리스, 핫픽스 등 다양한 상황에 대응할 수 있습니다.

d) 코드 리뷰::

  • 기능별로 브랜치를 만들어 작업하면, 코드 리뷰가 더 쉬워집니다.
  • Pull Request를 통해 변경사항을 명확히 확인할 수 있습니다.

e) 롤백 용이성:

  • 문제가 발생했을 때 특정 브랜치로 쉽게 돌아갈 수 있습니다.

3 브랜치 사용의 장점:

  • 작업의 context를 쉽게 전환할 수 있습니다.
  • 여러 이슈를 동시에 작업할 수 있어 생산성이 향상됩니다.
  • 실험적인 변경을 안전하게 시도할 수 있습니다.

4 GitFlow,  git브랜치 종류

Git에는 다양한 종류의 브랜치( Branch )들이 존재합니다.  각 브랜치는 특정 작업 흐름Gitflow이나 개발 프로세스를 지원하기 위해 사용됩니다. 주요 Git 브랜치 종류는 다음과 같습니다.

#01. Master / Main Branch:마스터 브랜치

• 프로젝트의 주요 브랜치로, 배포 가능한 상태의 코드를 유지한다.
• 많은 프로젝트에서 기본 브랜치로 사용되며, 안정적인(안정화 된) 버전을 포함한다.
   안정화된 버전이 들어가는 브랜치이다.

#02. Feature Branch:피처 브랜치

• 새로운 기능이나 변경 사항을 개발할 때 사용한다.
• 주로 `feature/기능 or 작업자`로 시작하는 이름을 가진다. ( 예 : feature/new-login )
• 개발이 완료되면 보통 main 또는 develop 브랜치에 병합된다.

#03. Developer( Dev ) 디벨롭 브랜치

모든 개발 중인 코드를 통합하는 브랜치입니다.
• 모든 기능 브랜치가 이 브랜치에 병합되고, 충분히 안정화되면 main브랜치로 병합됩니다.

#04. Release 릴리즈 브랜치

새로운 버전의 릴리스를 준비할 때 사용합니다.(예:  버그 수정 및 최종 테스트를 위해 사용 )
• 주로 `release/버전`로 시작하는 이름을 가집니다. ( 예 : release/1.2.0 )
• 작업이 완료되면 main브랜치와  develop 브랜치에 병합됩니다.

#05. Hotfix 브랜치

• 프로덕션( production ) 환경에 발생한 버그를 수정할 때 사용합니다.
• 주로 'hotfix/오류'로 시작하는 이름을 가집니다. ( 예 : hotfix/login-bug )
수정이 완료되면 main브랜치와 develop 브랜치에 병합됩니다.

#00. Bugfix 브랜치

• 발견된 버그를 수정하기 위한 브랜치입니다.
• 보통 'bugfix/이슈'로 시작하는 이름을 가집니다.( 예 : bugfix/issue-123 )
• 주로 develop 브랜치에 병합됩니다.

https://www.youtube.com/shorts/ZOU88HMpD8A

 

이 외에도 브랜치는 프로젝트와 팀의 필요에 따라 다양한 브랜치 전략이 사용될 수 있습니다.  각 브랜치의 역할을 명확히 하고, 협업시 효율적으로 관리하는 것이 무엇보다 중요하겠조.  이처럼 브랜치를 효과적으로 사용하면 더 체계적이고 안전한 개발 프로세스를 구축할 수 있습니다. 특히나  팀 프로젝트에서 브랜치의 활용은 협업의 효율성을  크게 높여줍니다. 세상은 내러티브다. 새상톡톡이 었습니다.

반응형