JSP's Deep learning

[Git] Branch 활용 작업흐름 본문

Etc/Git

[Git] Branch 활용 작업흐름

_JSP_ 2023. 5. 9. 19:02

1. 소규모 프로젝트(Feature Branch Workflow)

(1) 설명

  • 기능별 브랜치 만들어 개발하는 방식
  • master 브랜치의 메인 코드를 중심으로 기능을 개발하고 병합

(2) 개발흐름

  1. 원격 저장소master 브랜치를 clone
  2. 로컬 저장소에서 master 브랜치를 분기하여 feature 브랜치 생성
  3. 기능 개발 후 feature 브랜치를 원격 저장소push
    (git push origin feature/login
    을 통해 원격 저장소에도 같은 feature branch가 생성)
  4. 프로젝트 관리자는 feature 브랜치의 코드를 점검한 후 master 브랜치에 병합
  5. 다른 구성원들은 변경된 master 브랜치 pull하여 동기화
    (기능 추가 시마다 pull을 진행하는 것보다, 테스트를 진행할 때 혹은 자신의 기능을 push하기 전 pull을 진행한다)

 

2. 대규모 프로젝트(Gitflow Workflow)

(1) 설명

  • masterdevelop 브랜치를 중심으로 개발하는 방식
  • develop 브랜치 중심으로 기능 개발을 진행하고, 테스트 진행 후 master 브랜치 배포

(2) 개발흐름

  1. 원격 저장소의 master 브랜치와 develop 브랜치가 모두 생성되었다고 가정
  2. 로컬 저장소에서 원격 저장소의 develop 브랜치 동기화
  3. 로컬 저장소에서 develop 브랜치를 분기하여 feature 브랜치 생성
  4. (Pull Request 이용)기능 개발 후 로컬 저장소feature 브랜치 원격 저장소push
  5. 원격 저장소에서 feature 브랜치의 코드 점검 develop 브랜치에 병합
  6. 모든 기능이 develop 브랜치에 안정적으로 병합되고 테스트가 완료되면 develop 브랜치를 master 브랜치로 병합
  7. 다시 기능 개발을 하기위해서 구성원들은 develop 브랜치를 pull(동기화)

 

3. 오픈소스 프로젝트(Forking Workflow)

(1) 설명

  • 메인 원격 저장소개인 원격 저장소(메인 원격 저장소를 복제(Fork)한 것) 간의 Pull-Request을 통해서 개발하는 방식
  • 개인 개인 원격 저장소를 통해 개발을 진행하고 메인 원격 저장소로 PR을 보내면 프로젝트 관리자의 판단하에 병합

(2) 개발흐름

  1. 메인 원격 저장소를 Fork하여 개인 원격 저장소를 생성
  2. 개인 원격 저장소를 로컬 저장소에 clone
  3. 메인 원격 저장소는 upstream, 개인 원격 저장소는 origin으로 설정
  4. 로컬 원격 저장소에서 feature 브랜치를 생성하여 기능 개발 진행
  5. feature 브랜치를 개인 원격 저장소로 push
  6. 개인 원격 저장소의 feature 브랜치를 메인 원격 저장소의 master로 PR
  7. 프로젝트 관리자는 판단 하에 병합
  8. 로컬 저장소의 master 브랜치에서 업데이트된 메인 원격 저장소의 master 브랜치를 pull
  9. 로컬 저장소의 업데이트된 master 브랜치를 개인 원격 저장소의 master 브랜치에 push

'Etc > Git' 카테고리의 다른 글

[Git] Branch의 종류와 기능, 작명  (0) 2023.05.09
[Git] Git push 충돌 시 해결 법  (0) 2022.07.24
Comments