분기 워크플로 유형 살펴보기

완료됨

성공적인 Git 분기 워크플로란?

팀의 워크플로를 평가할 때에는 팀의 문화를 고려해야 합니다. 여러분은 워크플로가 팀의 효율성을 향상시키되, 생산성을 제한하는 부담이 되게 하고 싶지는 않습니다. Git 워크플로를 평가할 때 고려해야 할 몇 가지 사항은 다음과 같습니다.

  • 이 워크플로가 팀 규모에 따라 확장되는가?
  • 이 워크플로를 사용하여 실수와 오류를 쉽게 실행 취소할 수 있는가?
  • 이 워크플로로 인해 팀에 불필요한 새로운 인지 오버헤드가 발생하는가?

공통 분기 워크플로

가장 널리 사용되는 Git 워크플로에는 각 개발자가 푸시하고 풀하는 일종의 중앙 집중식 리포지토리가 있습니다.

아래에는 다음 섹션에서 자세히 살펴볼 일부 인기 Git 워크플로의 목록이 나와 있습니다.
이러한 포괄적인 워크플로는 기능 개발, 핫픽스, 최종 릴리스를 위한 분기 관리와 관련해 보다 특수화된 패턴을 제공합니다.

트렁크 기반 개발

트렁크 기반 개발은 중앙 집중식 워크플로의 논리적 확장입니다.

트렁크 기반 개발 워크플로의 핵심 개념은 모든 개발 작업이 주 분기(종종 "트렁크" 또는 "마스터"라고 함)에서 직접 수행된다는 것입니다. 이 방법은 개발자가 주 분기에 작은 증분 변경을 자주 커밋하는 연속 통합을 강조합니다. 지속적인 통합 및 자동화된 테스트는 코드 품질과 안정성을 유지하는 데 중요한 역할을 합니다.

기능 분기 워크플로

기능 분기 워크플로는 각 새 기능을 캡슐화하거나 주 분기와 별도로 전용 분기의 변경 내용을 캡슐화하는 것을 강조합니다. 개발자는 작업 중인 각 기능 또는 문제에 대해 새 분기를 만들고, 격리된 변경 내용을 개발 및 테스트한 다음, 완료 및 테스트가 완료되면 기능 분기를 다시 주 분기에 병합합니다. 이 방법을 사용하면 여러 기능을 병렬로 개발할 수 있고, 코드 검토를 용이하게 하며, 주 분기가 안정적으로 유지되도록 합니다.

릴리스 분기 워크플로

릴리스 분기 워크플로에서 릴리스를 준비할 때 주 분기에서 전용 분기가 만들어집니다. 이 분기는 코드를 안정화하고, 막판 버그 또는 문제를 해결하고, 프로덕션에 릴리스를 배포하기 전에 최종 테스트를 수행하는 데 사용됩니다. 릴리스가 준비된 것으로 간주되면 주 분기로 다시 병합되고 개발 또는 기능 분기와 같은 수명이 긴 다른 분기로 병합됩니다. 이 전략을 사용하면 지속적인 개발 작업을 위해 주 분기를 안정적으로 유지하면서 제어되고 체계적인 릴리스 프로세스를 수행할 수 있습니다.

Forking 워크플로

포크 워크플로는 이 자습서에서 설명하는 다른 워크플로와 근본적으로 다릅니다. "중앙" 코드베이스 역할을 하는 단일 서버 쪽 리포지토리를 사용하는 대신, 모든 개발자에게 서버 쪽 리포지토리를 제공합니다. 즉, 각 기여자에게는 두 개의 Git 리포지토리, 즉 프라이빗 로컬 리포지토리와 공용 서버 쪽 리포지토리가 있습니다. 이 방법은 명확하고 체계적인 코드베이스를 유지하면서 기여자 간에 높은 수준의 병렬 개발 및 협업을 촉진합니다.