리포지토리 브랜치하기

원본 보기

리포지토리 브랜치하기

브랜치는 메인 코드베이스에 영향을 주지 않고 새로운 기능을 작업할 수 있는 방법을 제공합니다. Bitbucket, Jira, 또는 터미널에서 브랜치를 생성할 수 있습니다. 변경 사항을 적용한 후 브랜치를 Bitbucket에 push하여 풀 리퀘스트로 검토를 받을 수 있습니다.

브랜치 생성하기

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> 브랜치에 변경 사항을 추가하고 커밋하고 푸시합니다:

    $ 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. 개발 패널에서 브랜치 생성을 선택합니다. 이렇게 하면 Bitbucket의 브랜치 생성 화면이 열립니다.

  2. 브랜치를 생성하려는 저장소를 선택합니다.

  3. 브랜치 유형브랜치 이름을 선택한 다음 브랜치 생성을 선택합니다. 브랜칭 모델이 구성된 경우, Bitbucket은 Jira 작업 항목 유형에 따라 브랜치 유형을 제안할 수 있습니다.

  4. 새 브랜치가 생성되면 Bitbucket이 파일 목록으로 이동합니다. 이제 로컬 저장소로 pull하여 새 브랜치로 전환할 수 있습니다.

브랜치 모델

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

브랜치 유형

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

 개발 브랜치

일반적으로 기능 작업을 위한 통합 브랜치이며 종종 기본 브랜치이거나 이름이 있는 브랜치입니다. 풀 리퀘스트 워크플로에서는 새로운 기능 브랜치가 대상으로 하는 브랜치입니다.

main
또는
develop

 프로덕션 브랜치

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

다양함

 기능 브랜치

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

feature/

 릴리스 브랜치

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

release/

 버그픽스 브랜치

일반적으로 릴리스 브랜치를 수정하는 데 사용됩니다.

bugfix/

 핫픽스 브랜치

개발 브랜치의 변경 사항을 방해하지 않고 프로덕션 브랜치를 빠르게 수정하는 데 사용됩니다. Gitflow 기반 워크플로에서는 일반적으로 변경 사항이 프로덕션 브랜치와 개발 브랜치에 모두 병합됩니다.

hotfix/

저장소의 브랜칭 모델 구성

저장소의 브랜칭 모델을 구성하려면 (저장소 관리자 권한 필요):

  1. 왼쪽 사이드바에서 저장소 이름 옆에 있는 더 많은 작업 ()을 선택한 다음 설정을 선택합니다.

  2. 워크플로 아래에서 브랜칭 모델을 선택합니다.

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

브랜치의 커밋 목록 보기

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(병합 후 브랜치가 삭제되지 않음)로 설정할 수 있습니다. 

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

병합 시 브랜치 삭제에 대한 기본값 설정

병합 시 브랜치 삭제는 기본적으로 꺼져 있으므로, 병합 풀 리퀘스트 대화 상자에서 브랜치를 삭제하는 옵션이 선택되지 않습니다.

제한사항

  • 소스 브랜치를 기본적으로 삭제하도록 설정한 후에는, 새로 생성된 풀 리퀘스트만 소스 브랜치 삭제 설정이 기본값으로 설정됩니다.

  • 이 기본 설정은 브랜치 권한에 의해 브랜치 삭제가 금지된 브랜치에서는 설정되지 않거나 영향을 주지 않습니다.

리포지토리에서 병합 시 소스 브랜치 삭제의 기본 상태를 변경하려면 (리포지토리 관리자 권한 필요):

  1. 왼쪽 사이드바에서 리포지토리 이름 옆의 더 많은 작업 ()을 선택한 다음 설정을 선택합니다.

  2. 워크플로우 아래 왼쪽 사이드바에서 브랜칭 모델을 선택합니다.

  3. 기본적으로 소스 브랜치 삭제 아래에서 다음 옵션 중 하나를 선택합니다:

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

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

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

  1. 병합 시 브랜치 삭제에 대한 기본값을 설정하려는 프로젝트로 이동합니다.

  2. 왼쪽 사이드바에서 프로젝트 이름 옆의 더 많은 작업 ()을 선택한 다음 설정을 선택합니다.

  3. 워크플로우 아래 왼쪽 사이드바에서 브랜칭 모델을 선택합니다.

  4. 기본적으로 소스 브랜치 삭제 아래에서 다음 옵션 중 하나를 선택합니다:

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

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

브랜치 일괄 삭제

다음 단계를 따라 브랜치를 일괄 삭제할 수 있습니다:

  1. 저장소에서 왼쪽 사이드바의 Branches 를 선택하세요.

  2. ()를 선택한 다음 Delete multiple을 선택하세요.

  3. 삭제하려는 브랜치를 체크하고 Delete selected branches를 선택하세요.

  4. 선택 사항을 확인하세요.

여전히 도움이 필요하신가요?

Atlassian 커뮤니티가 도와드리겠습니다.