Git_[1] git branch

Leejaegun·2024년 9월 14일

Git

목록 보기
2/32

1. 브랜치 전략

Git 을 사용하면서 Branch를 어떤식으로 사용할지에 대한 전략
Git Flow

  • Local 중심
  • 주로 로컬 저장소에서 브랜치를 중심으로 한 개발 흐름중심

Github Flow

  • Remote중심
  • 주로 리모트 저장소에서의 작업 흐름 중심

2. Git flow

2.1 main(master)

배포의 기준이 되는 브랜치이면서 Release Tag를 기록하는 브랜치


🤔 Release Tag가 뭐야?
👉 소프트웨어 개발에서 특정 시점의 버전을 기록하는 Git의 태그중하나. -> 배포한 코드를 버전 관리하기 위해 사용됨.

git tag v1.0.0
git push origin v1.0.0

Release Tag는 코드 관리에서 배포의 이력을 관리하는 중요한 도구.


2.2 develop

  • 개발의 중심이 되는 브랜치.
  • 배포 버전별로 정의된 기능을 구현하여 develop 브랜치에 모으고
    코드를 배포할때, develop 브랜치로부터 release브랜치를 만들어 준비.
  • 실제 기능 구현은 develop이 아닌, feature 브랜치에서 진행함.

2.3 feature

  • 실제로 기능을 구현하는 브랜치
  • 기능구현, 버그픽스, 리펙토링 등을 수행하기 위해 develop 브랜치로부터 브랜치를 만들어 작업 수행.
  • feature 브랜치에서 작업이 완료되면, develop 브랜치에서 merge함.

2.4 release

  • 배포를 준비.
  • develop 브랜치에서 배포를 위한 개발이 끝나면, release 브랜치를 만들어 배포 준비함.
  • 배포준비가 완료되었다고 생각되면, main 브랜치로 merge진행함.

2.5 hotfix

  • 배포가 완료된 버전에서 심각한 버그나 문제가 발생했을 때 사용하는 브랜치
  • main 브랜치에서 hotfix브랜치를 만들어 문제를 해결한 후, 필요한 브랜치들에 merge함.

3. Github Flow

Github Flow는 Remote 중심의 브랜치 전략

  • main 은 git flow의 [main, develop, release] 브랜치 역할이 합쳐진것
  • feature브랜치는 git flow의 [feature, hotfix] 브랜치 역할 합쳐진거.
profile
Lee_AA

0개의 댓글