될때까지

((git)) git flow 본문

학습/개념정리

((git)) git flow

랖니 2022. 9. 5. 11:36
728x90

git?

코드의 진행내용 및 수정내역을 기록하고 관리할 수 있도록 도와주는 버전 관리 프로그램이다. 브랜치 생성, 이전 상태로 돌아가기, 삭제, 병합 등이 가능하지만 로컬 저장소를 사용하기 때문에 다른 개발자와 작업 공유가 불가능하다.

 

git hub?

git 저장소를 관리하는 클라우드 기반 호스팅 서비스다. 클라우드 기반이기 때문에 다른 사람과 코드 공유가 가능하고 한 프로젝트에 여러명이 참여해서 공동 작업도 가능하다.

git flow?

브랜치를 분리함으로써 소스 코드 형상/이력 관리를 효율적으로 진행하며 협업 시 발생할 수 있는 문제점을 최소화할 수 있는 전략으로 5가지 종류의 브랜치가 존재한다. 항상 유지되는 메인 브랜치, 일정 기간 유지되는 보조 브랜치들이 있다.

  • master : 제품으로 출시될 수 있는 브랜치
  • develop : master에서 시작된 브랜치로 다음 출시 버전을 개발하는 브랜치(통합 브랜치 역할). 실질적으로 개발하는 브랜치.
  • feature : develop에서 시작된 브랜치로 기능을 개발하는 브랜치다. 기능 추가작업이 완료되면 develop브랜치로 merge되기 위해 pull request를 요청한다.
  • release : 배포를 위한 최종적인 버그 수정등의 개발을 하는 브랜치
  • hotfix : 긴급 패치가 필요할 때 사용하는 브랜치

git flow 사용하는 이유?

소스코드를 하나로 관리하고 개발자마다 브랜치를 생성해서 코딩 후 pull request로  관리자에게 merge 요청을 받을 수도 있지만 코드의 수정사항이 생기거나 몇년동안 유지된 코드의 경우 관리하기에 비효율이기 때문이다.(코드에서 모듈화를 하는 것과 같은 개념으로 이해하자!)

728x90