본문으로 바로가기

깃 플로우, Git Flow란?

category 형상관리/Git 2023. 5. 8. 14:48
반응형

회사에서 SVN을 사용하다가 팀 이동 후 GIT을 사용하게 되었습니다. (Git에 협업 플랫폼인 Gitlab을 사용 중입니다.)

개념과 현재 사용하고 있는 방식을 정리하려고 합니다.

 


Git, SVN 차이점

 

분산형, 중앙집중형

Git은 분산형 버전 관리 시스템이며, 각 개발자는 로컬 저장소에서 작업을 수행하고 원격 저장소에 푸시합니다. 

SVN은 중앙집중식 버전 관리 시스템이며, 변경 사항을 중앙 서버에 커밋합니다.

브랜치 및 머지

Git은 브랜치 및 머지가 쉽고 빠릅니다. 이를 통해 다양한 브랜치에서 동시에 작업할 수 있습니다. 

SVN에서도 브랜치 및 머지가 가능하지만 Git에 비해 덜 유연합니다.

속도

Git은 분산형이므로 로컬 저장소에서 빠르게 작업을 수행할 수 있습니다. 

SVN은 중앙 집중형이므로 서버와의 통신에 따라 속도가 제한될 수 있습니다.

저장소 크기

Git은 파일이나 디렉토리의 변경 사항만 저장하기 때문에 저장소의 크기가 작아집니다. 

SVN은 모든 버전의 파일을 저장하므로 저장소의 크기가 더욱 커질 수 있습니다.

오프라인 작업

Git은 분산형 구조를 가지므로 로컬 저장소에서 오프라인으로 작업을 수행할 수 있습니다. 

SVN은 중앙 집중형 구조이므로 서버와의 연결이 필요합니다.

유지보수 및 지원

Git은 GitHub와 같은 대형 커뮤니티와 함께 사용되며, 다양한 지원 및 유지보수 옵션이 있습니다. 

SVN은 상대적으로 작은 커뮤니티를 가지고 있으며, Git에 비해 지원 및 유지보수가 제한적입니다.


Git Flow란?

 

Git으로 형상관리를 할 때 브랜치를 효율적으로 관리하기 위해 사용되는 많은 관리 전략 중 하나입니다.

브랜치 역할

 

master
- 제품으로 출시될 수 있는 브랜치
- 배포 가능한 안정적인 코드가 있는 브랜치

develop
- 다음 출시 버전을 개발하는 브랜치
- 새로운 기능을 추가하고 버그를 수정하는 작업을 하며, master 브랜치에 배포하기 직전에 마무리 작업을 수행함.

feature
- 기능 개발을 위한 브랜치 
- develop 브랜치로부터 분기되며, 기능 개발이 끝나면 develop 브랜치로 merge 됨.

release
- 이번 출시 버전을 준비하는 브랜치
- develop 브랜치에서 release 브랜치를 생성하여, QA 및 테스트를 수행하고, master 브랜치에 merge 하여 출시함.

hotfix
- 출시한 제품의 버그나 긴급한 수정이 필요할 때 사용하는 브랜치.
- master 브랜치에서 분기하여 수정 후 다시 master 브랜치와 develop 브랜치에 merge 함.

 

현재 팀에서는 어느 단계에서는 자체 테스트, 기획자 테스트 단계를 정하여 관리를 진행하고 있습니다. 이처럼 Git Flow는 프로젝트의 규모가 크고, 여러 명의 개발자들이 함께 작업하는 경우 효율적인 브랜치 관리를 할 수 있는 전략 중 하나입니다.


인텔리제이에서 Git Flow 사용법

 

1. Plugins에 Git Flow Integration을 설치합니다.

2. Git 메뉴에서 GitFlow Init Repo를 통해 Git Flow에 맞는 브랜치 구성 후 사용 할 브랜치 Start 하여 사용.

반응형

'형상관리 > Git' 카테고리의 다른 글

GIt Bash로 저장소에 소스 올리기  (0) 2020.08.17
Git 설치  (0) 2020.07.01