Git & GitHub 강좌/3. Git 브랜치

Feature Branch, Master Branch 개념

_Blue_Sky_ 2024. 10. 6. 09:21
728x90
728x90

Git 브랜치: Feature Branch와 Master Branch 개념 상세 설명

Git 브랜치란 무엇일까요?

Git에서 브랜치는 특정 작업을 위한 독립적인 개발 환경이라고 생각하면 됩니다. 마치 하나의 프로젝트를 여러 갈래로 나누어 동시에 작업하는 것과 같습니다. 이는 여러 개발자가 동시에 다른 기능을 개발하거나, 새로운 기능을 안전하게 테스트하고 기존 코드에 영향을 주지 않고 작업할 수 있도록 해줍니다.

Feature Branch와 Master Branch

Feature Branch

  • 정의: 새로운 기능을 개발하기 위해 만들어지는 브랜치입니다.
  • 목적:
    • 독립적인 개발 환경 제공: 주요 개발 라인(Master 브랜치)에 영향을 주지 않고 새로운 기능을 개발할 수 있습니다.
    • 실험적인 기능 개발: 새로운 아이디어를 자유롭게 실험하고, 실패하더라도 다른 브랜치에 영향을 미치지 않습니다.
    • 병렬 개발 지원: 여러 개발자가 각자의 Feature Branch에서 동시에 다른 기능을 개발할 수 있습니다.
  • 생성 및 관리:
    • 생성: git branch feature_name 명령으로 새로운 Feature Branch를 생성합니다.
    • 작업: 생성된 브랜치로 이동하여 기능 개발을 진행합니다.
    • 병합: 개발이 완료되면 Master 브랜치로 병합합니다.

Master Branch

  • 정의: 프로젝트의 메인 개발 라인을 나타내는 브랜치입니다.
  • 목적:
    • 안정적인 코드 유지: 항상 배포 가능한 상태를 유지해야 합니다.
    • 최종 결과물 반영: 모든 Feature Branch에서 개발된 기능이 최종적으로 병합되는 곳입니다.
  • 규칙:
    • 엄격한 관리: Master 브랜치에는 완전히 테스트되고 안정적인 코드만 병합해야 합니다.
    • 직접 수정 금지: 일반적으로 Master 브랜치는 직접 수정하지 않고, Feature Branch를 통해 간접적으로 수정합니다.
728x90

왜 Feature Branch를 사용해야 할까요?

  • 안전한 개발 환경: 새로운 기능 개발 시 발생할 수 있는 문제가 Master 브랜치에 직접적인 영향을 미치지 않습니다.
  • 효율적인 협업: 여러 개발자가 동시에 다른 기능을 개발하고, 충돌 없이 작업할 수 있습니다.
  • 코드 관리 용이: 각 Feature Branch는 특정 기능에 대한 히스토리를 명확하게 보여주므로 코드 관리가 쉽습니다.
  • 배포 관리: Master 브랜치에 안정적인 코드만 유지되므로 배포 관리가 간편해집니다.

Feature Branch와 Master Branch 활용 시나리오

  1. 새로운 기능 개발:
    • 새로운 기능을 위한 Feature Branch를 생성합니다.
    • 기능 개발을 진행하고 충분히 테스트합니다.
    • Master 브랜치로 병합합니다.
  2. 버그 수정:
    • 버그를 수정하기 위한 Feature Branch를 생성합니다.
    • 버그를 수정하고 테스트합니다.
    • Master 브랜치로 병합합니다.
  3. 실험적인 기능 개발:
    • 새로운 아이디어를 실험하기 위한 Feature Branch를 생성합니다.
    • 아이디어를 구현하고 테스트합니다.
    • 결과에 따라 Master 브랜치로 병합하거나 버립니다.

결론

Feature Branch와 Master Branch는 Git을 효과적으로 활용하기 위한 핵심 개념입니다. 이를 통해 개발자들은 더욱 안전하고 효율적으로 프로젝트를 진행할 수 있습니다.

 

728x90
728x90

'Git & GitHub 강좌 > 3. Git 브랜치' 카테고리의 다른 글

Rebase  (0) 2024.10.06
충돌 해결  (0) 2024.10.06
브랜치 병합 (merge)  (0) 2024.10.06
Git 브랜치 생성 및 전환  (0) 2024.10.06