브랜치 전략

Atlassian Cloud번역일: 2026-08-19원본 보기

브랜치를 사용하면 메인 코드베이스에 영향을 주지 않고 새 기능을 작업할 수 있습니다. 브랜치는 Bitbucket, Jira, 또는 터미널에서 만들 수 있습니다. 변경 작업을 마친 후에는 브랜치를 Bitbucket에 푸시해 풀 리퀘스트로 리뷰를 받을 수 있습니다.

브랜치 만들기

Git 브랜치를 만드는 방법은 세 가지입니다. Bitbucket에서, 로컬 명령줄에서, 또는 Jira에서 만들 수 있습니다.

가능하면 특수 문자가 포함되지 않은 브랜치 이름을 만드세요. 특수 문자는 이스케이프 처리가 필요합니다. 브랜치 이름에 안전하게 사용할 수 있는 기본 문자 집합은 다음과 같습니다.

  • 영문 알파벳(a ~ z 및 A ~ Z)

  • 숫자(0 ~ 9)

  • 제한된 구두점 문자 집합:

    • 마침표(.)

    • 하이픈(-)

    • 밑줄(_)

    • 슬래시(/)

혼동을 피하려면 브랜치 이름을 문자로 시작하는 것이 좋습니다.

Bitbucket에서 브랜치 만들기

  1. 저장소에서 Create 버튼을 선택합니다.

  2. 드롭다운 메뉴에서 Branch 를 선택합니다.

  3. 나타나는 팝업에서 Type을 선택하고(브랜칭 모델을 사용하는 경우), Branch name 을 입력한 뒤 Create를 선택합니다.

    참고: Bitbucket에서 또는 Jira의 작업 항목에서 브랜치를 만들 때마다, Bitbucket은 참조·파일 시스템·셸에서 유효하지 않은 문자를 제거하고 유효한 문자로 대체합니다.

  4. 브랜치를 만든 후에는 로컬 시스템에서 체크아웃해야 합니다. Bitbucket이 제공하는 fetch 및 checkout 명령을 다음과 같이 사용합니다.

    $ git fetch && git checkout <feature>

  5. 로컬에서 변경한 다음 <feature> 브랜치에 변경 사항을 add, commit, push 합니다.

    $ git add .
    $ git commit -m "adding a change from the feature branch"
    $ git push origin <feature>

  6. 저장소의 Source 페이지를 선택합니다. 브랜치 드롭다운에서 main 브랜치와 <feature> 브랜치가 모두 보여야 합니다. 기능 브랜치에 커밋하면 해당 브랜치에만 있는 파일을 확인할 수 있습니다.

로컬에서 브랜치 만들기

저장소를 클론해 두었다면 로컬에서 브랜치를 만들 수 있습니다.

  1. 터미널 창에서 저장소의 브랜치 목록을 확인합니다.

    $ git branch

  2. 저장소에 새 기능 브랜치를 만듭니다

    $ git branch <feature_branch>

  3. 작업할 기능 브랜치로 전환합니다.

    $ git checkout <feature_branch>

    git branch 명령으로 브랜치 목록을 다시 확인할 수 있습니다.

  4. 기능 브랜치에 변경 사항을 커밋합니다.

    $ git add .
    $ git commit -m "adding a change from the feature branch"

  5. 다시 main 브랜치로 전환합니다.

    $ git checkout main

  6. 기능 브랜치를 Bitbucket에 푸시합니다.

    $ git push origin <feature_branch>

  7. Bitbucket에서 저장소의 Source 페이지를 확인합니다. main 과 기능 브랜치가 모두 보여야 합니다. 기능 브랜치를 선택하면 해당 브랜치 기준의 Source 페이지가 표시됩니다. 기능 브랜치를 선택해 Recent commits를 확인하세요.

Jira의 작업 항목에서 브랜치 만들기

Jira에서 브랜치를 만들려면 Bitbucket과 연결되어 있어야 합니다.

  1. Development 패널에서 Create Branch를 선택합니다. Bitbucket의 브랜치 생성 화면이 열립니다.

  2. 브랜치를 만들 저장소를 선택합니다.

  3. Branch type과 Branch name을 선택한 다음 Create branch를 선택합니다. 브랜칭 모델이 구성되어 있으면 Bitbucket이 Jira 작업 항목 유형에 따라 Branch type 을 제안할 수 있습니다. 

  4. 새 브랜치가 만들어지면 Bitbucket이 파일 목록 화면으로 이동시킵니다. 이제 로컬 저장소로 pull 한 뒤 새 브랜치로 전환할 수 있습니다.

브랜칭 모델

브랜칭 모델을 사용하면 저장소에 브랜치 기반 워크플로를 정의할 수 있습니다. 워크플로를 브랜치 유형에 매핑하고 사용할 브랜치 유형을 구성하면 브랜치 이름을 일관되게 유지할 수 있습니다. 사용할 만한 브랜치 접두사를 몇 가지 제안하지만, 직접 명명 규칙을 지정할 수도 있습니다. 일관된 명명 규칙은 유형별로 브랜치를 식별하기 쉽게 만듭니다. 또한 어떤 브랜치가 개발 브랜치이고 프로덕션 브랜치인지 정의할 수 있으며, 이를 통해 브랜치 생성과 풀 리퀘스트 시 소스 및 대상 브랜치를 더 잘 제안할 수 있습니다.

브랜치 유형

소프트웨어 개발에서 자주 사용되는 브랜치 유형에는 여러 가지가 있습니다. 이 섹션에서는 각 브랜치 유형의 용도와 일반적인 접두사 규칙을 설명합니다. Bitbucket에서는 개발 및 프로덕션 브랜치를 제외한 모든 브랜치의 접두사를 변경할 수 있습니다.

 개발 브랜치

일반적으로 기능 작업의 통합 브랜치이며, 기본 브랜치이거나 별도로 지정한 브랜치인 경우가 많습니다. 풀 리퀘스트 워크플로에서는 새 기능 브랜치가 병합 대상으로 삼는 브랜치입니다.

main
또는
develop

 프로덕션 브랜치

릴리스 배포에 사용합니다. 개발 브랜치에서 분기해 다시 개발 브랜치로 병합됩니다. Gitflow 기반 워크플로에서는 새 프로덕션 릴리스를 준비하는 데 사용합니다. 

다양함

 기능 브랜치

특정 기능 작업이나 개선에 사용합니다. 일반적으로 개발 브랜치에서 분기하고, 풀 리퀘스트를 통해 다시 개발 브랜치로 병합됩니다.

feature/

 릴리스 브랜치

릴리스 작업과 장기 유지보수 버전에 사용합니다. 개발 브랜치에서 분기한 뒤 프로덕션 브랜치로 병합됩니다.

release/

 버그픽스 브랜치

주로 릴리스 브랜치를 수정하는 데 사용합니다.

bugfix/

 핫픽스 브랜치

개발 브랜치의 변경 작업을 중단하지 않고 프로덕션 브랜치를 빠르게 수정하는 데 사용합니다. Gitflow 기반 워크플로에서는 변경 사항이 보통 프로덕션 브랜치와 개발 브랜치로 함께 병합됩니다.

hotfix/

저장소의 브랜칭 모델 구성하기

저장소의 브랜칭 모델을 구성하려면(저장소 관리자 권한 필요) 다음과 같이 합니다.

  1. 왼쪽 사이드바의 저장소 이름 옆에서 More actions(…)를 선택한 다음 Settings를 선택합니다.

  2. Workflow 아래에서 Branching model을 선택합니다.

  3. 저장소 브랜칭 모델의 세부 항목을 선택한 다음 Save를 선택합니다.

브랜치의 커밋 목록 보기

Bitbucket은 브랜치별 커밋 목록을 관리합니다. 이 목록에는 메인 브랜치보다 앞선 커밋이 있는 열린 브랜치만 표시됩니다.  특정 브랜치와 연결된 커밋을 보려면 저장소에서 다음과 같이 합니다.

  1. Commits 페이지로 이동합니다.

  2. All branches가 아직 선택되어 있지 않다면 Show all 을 선택합니다.

  3. 커밋 태그 링크를 선택해 내용을 자세히 확인합니다.

브랜치 닫기

저장소의 브랜치를 정기적으로 정리하는 것이 중요합니다. 브랜치를 닫으면 Bitbucket 인터페이스에서 해당 브랜치가 삭제됩니다. 로컬 저장소의 브랜치에는 아무 영향이 없습니다. 로컬 브랜치는 Git 또는 Hg의 해당 명령으로 직접 삭제해야 합니다.

브랜치를 닫는 방법은 두 가지입니다.

  • 저장소의 Branches 페이지에서 오른쪽 옵션 링크에 마우스를 올린 뒤 Delete branch를 선택합니다.

  • 브랜치에서 풀 리퀘스트를 만들 때 Close branch 체크박스를 선택하면 풀 리퀘스트가 병합될 때 브랜치가 닫힙니다.

Bitbucket은 브랜치별 커밋 목록을 관리합니다. 이 목록에는 메인 브랜치보다 앞선 커밋이 있는 열린 브랜치만 표시됩니다.  특정 브랜치와 연결된 커밋을 보려면 저장소에서 다음과 같이 합니다.

  1. Commits 페이지로 이동합니다.

  2. All branches가 아직 선택되어 있지 않다면 Show all 을 선택합니다.

  3. 커밋 태그 링크를 선택해 내용을 자세히 확인합니다.

풀 리퀘스트 병합 시 브랜치 삭제

풀 리퀘스트를 병합할 때 병합 완료 후 소스 브랜치를 삭제하도록 선택할 수 있습니다. 프로젝트 및 저장소 관리자는 기본 동작을 On(병합 후 브랜치 삭제) 또는 Off(병합 후 브랜치 유지) 중 하나로 설정할 수 있습니다. 

사용자는 풀 리퀘스트를 병합할 때 이 설정을 재정의할 수 있습니다.

병합 시 브랜치 삭제 기본값 설정하기

병합 시 브랜치 삭제는 기본적으로 Off로 설정되어 있으므로, Merge pull request 대화 상자에서 브랜치 삭제 옵션이 선택되지 않습니다.

제한 사항

  • 소스 브랜치 기본 삭제 설정을 활성화한 후에는 새로 생성된 풀 리퀘스트에만 소스 브랜치 삭제 설정이 기본으로 적용됩니다.

  • 이 기본 설정은 브랜치 권한으로 브랜치 삭제가 금지된 브랜치에는 적용되지 않으며 영향을 주지도 않습니다.

저장소에서 병합 시 소스 브랜치 삭제의 기본 상태를 변경하려면(저장소 관리자 권한 필요) 다음과 같이 합니다.

  1. 왼쪽 사이드바의 저장소 이름 옆에서 More actions(…)를 선택한 다음 Settings를 선택합니다.

  2. 왼쪽 사이드바의 Workflow 아래에서 Branching model 을 선택합니다.

  3. Delete source branch by default 아래에서 다음 옵션 중 하나를 선택합니다.

    • Off - 풀 리퀘스트를 병합할 때 소스 브랜치 삭제 옵션이 선택되지 않습니다.

    • On - 풀 리퀘스트를 병합할 때 소스 브랜치 삭제 옵션이 선택됩니다.

프로젝트에서 병합 시 소스 브랜치 삭제의 기본 상태를 변경하려면(프로젝트 관리자 권한 필요) 다음과 같이 합니다.

  1. 병합 시 브랜치 삭제 기본값을 설정할 프로젝트로 이동합니다.

  2. 왼쪽 사이드바의 프로젝트 이름 옆에서 More actions(…)를 선택한 다음 Settings를 선택합니다.

  3. 왼쪽 사이드바의 Workflow 아래에서 Branching model 을 선택합니다.

  4. Delete source branch by default 아래에서 다음 옵션 중 하나를 선택합니다.

    • Off - 풀 리퀘스트를 병합할 때 소스 브랜치 삭제 옵션이 선택되지 않습니다.

    • On - 풀 리퀘스트를 병합할 때 소스 브랜치 삭제 옵션이 선택됩니다.

브랜치 일괄 삭제

다음 단계를 따르면 브랜치를 일괄 삭제할 수 있습니다.

  1. 저장소의 왼쪽 사이드바에서 Branches 를 선택합니다.

  2. ()를 선택한 다음 Delete multiple을 선택합니다.

  3. 삭제할 브랜치를 체크한 뒤 Delete selected branches를 선택합니다.

  4. 선택 내용을 확인합니다.

도움이 더 필요하신가요?

Atlassian 커뮤니티가 도와드립니다.