# GitHub Desktop에서 분기 관리하기

GitHub Desktop을(를) 사용하여 리포지토리의 기존 분기에서 새 분기를 만들어 변경 내용을 안전하게 실험할 수 있습니다.

## 브랜치 관리에 대하여

분기를 사용하여 프로젝트의 변경 내용을 안전하게 실험할 수 있습니다. 분기는 리포지토리의 다른 분기에서 개발 작업을 격리합니다. 예를 들어 분기를 사용하여 새 기능을 개발하거나 버그를 수정할 수 있습니다.

항상 기존 브랜치에서 새로운 브랜치를 만듭니다. 일반적으로 리포지토리의 기본 브랜치에서 브랜치를 만들 수 있습니다. 그런 다음 다른 사용자가 리포지토리에 적용하는 변경 내용과 격리된 상태로 이 새 분기에서 작업할 수 있습니다.

분기 기록의 이전 커밋에서 시작하여 분기를 만들 수도 있습니다. 이는 버그를 조사하고 최신 릴리스 위에 긴급 수정을 만들기 위해 리포지토리의 이전 보기로 돌아가야 하는 경우에 유용할 수 있습니다.

작업에 만족하면 현재 분기의 변경 내용을 다른 분기로 병합하기 위해 끌어오기 요청을 만들 수 있습니다. 자세한 내용은 [GitHub Desktop에서 이슈 또는 Pull Request 만들기](/ko/desktop/working-with-your-remote-repository-on-github-or-github-enterprise/creating-an-issue-or-pull-request-from-github-desktop) 및 [끌어오기 요청](/ko/enterprise-server@3.22/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)을(를) 참조하세요.

리포지토리에 대한 읽기 권한이 있는 경우 항상 GitHub Desktop에서 분기를 만들 수 있지만 리포지토리에 대한 쓰기 액세스 권한이 있는 경우에만 분기를 GitHub로 푸시할 수 있습니다.

리포지토리 관리자는 분기에서 보호를 사용하도록 설정할 수 있습니다. 보호되는 분기에서 작업하는 경우 분기를 삭제하거나 강제로 푸시할 수 없습니다. 리포지토리 관리자는 분기를 병합하기 전에 다른 보호된 분기 설정을 사용하여 특정 워크플로를 적용할 수 있습니다. 자세한 내용은 [보호된 분기 정보](/ko/enterprise-server@3.22/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches)을(를) 참조하세요.

리포지토리 관리자는 규칙 집합을 사용하도록 설정할 수 있습니다. 규칙 집합은 새 분기를 만들 때 특정 분기 이름을 요구하거나, 바이패스 권한이 있는 사용자만 새 분기를 원격 리포지토리로 게시하도록 허용하는 데 사용할 수 있습니다. GitHub Desktop은(는) 분기가 규칙 집합을 따르지 않을 경우, 경고를 표시하고 분기의 생성을 방지합니다. 자세한 내용은 [규칙 세트에 대한 정보](/ko/enterprise-cloud@latest/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets)을(를) 참조하세요.

## 브랜치 생성

> \[!TIP]
> 만드는 첫 번째 새 분기는 기본 분기를 기반으로 합니다. 두 개 이상의 분기가 있는 경우 현재 체크 아웃된 분기 또는 기본 분기를 베이스로 새 분기를 선택할 수 있습니다.

1. 앱 맨 위에서 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-git-branch" aria-label="git-branch" role="img"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg> 현재 분기**를 클릭한 다음 분기 목록에서 새 분기의 기반으로 사용할 분기를 클릭합니다.

   !["현재 분기" 드롭다운 보기 스크린샷. "최근 분기"에서 "my-feature" 분기가 주황색 윤곽선으로 강조 표시됩니다.](/assets/images/help/desktop/select-branch-from-dropdown.png)

2. **새 분기**를 클릭합니다.

   !["현재 분기" 드롭다운 보기의 스크린샷 "필터" 필드 옆에 "새 브랜치"라는 레이블이 붙은 버튼이 주황색으로 테두리 표시됩니다.](/assets/images/help/desktop/new-branch-button-mac.png)

3. "분기 만들기" 창의 "이름"에 새 분기의 이름을 입력합니다.

4. "분기를 만들 기준 분기 선택..."에서 기준으로 사용할 분기 선택합니다.

5. **분기 만들기**를 클릭합니다.

## 이전 커밋에서 분기 만들기

1. 왼쪽 사이드바에서 **기록**을 클릭합니다.

   ![사이드바의 "기록" 탭 스크린샷. 커밋 목록 위에 "기록" 탭 단추가 주황색 윤곽선으로 강조 표시됩니다.](/assets/images/help/desktop/history-tab-in-commit-sidebar.png)

2. 새 분기를 만들려는 커밋을 마우스 오른쪽 단추로 클릭하고 **커밋에서 분기 만들기**를 선택합니다.

   !["History" 탭의 커밋 목록 스크린샷입니다. 커밋 옆에서 커서는 컨텍스트 메뉴의 "커밋에서 브랜치 만들기" 옵션 위에 있습니다.](/assets/images/help/desktop/create-branch-from-commit-context-menu.png)

3. "분기 만들기" 창의 "이름"에 새 분기의 이름을 입력합니다.

4. **분기 만들기**를 클릭합니다.

## 분기 게시

GitHub Desktop에 분기를 만드는 경우 GitHub에서 협업할 수 있도록 분기를 게시해야 합니다.

1. 리포지토리 표시줄에서 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-git-branch" aria-label="git-branch" role="img"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg> Current Branch**를 클릭한 후, 게시하려는 브랜치를 클릭합니다.
   !["현재 분기" 드롭다운 보기의 스크린샷 "최근 브랜치"에서 "my-feature"라는 브랜치가 주황색 윤곽선으로 강조 표시됩니다.](/assets/images/help/desktop/select-branch-from-dropdown.png)
2. **브랜치 게시**를 클릭합니다.

![리포지토리 표시줄의 스크린샷입니다. 오른쪽에는 "브랜치 게시"라고 표시된 버튼이 주황색 테두리로 강조되어 있습니다.](/assets/images/help/desktop/publish-branch-button.png)

## 브랜치 간 전환

자신의 리포지토리의 모든 브랜치를 보고 커밋할 수 있습니다. 커밋되지 않은 저장된 변경 내용이 있는 경우 분기를 전환하기 전에 변경 내용으로 수행할 작업을 결정해야 합니다. 현재 분기에서 변경 내용을 커밋하거나 변경 내용을 스태시하여 현재 분기에 임시로 저장하거나 변경 내용을 새 분기로 가져올 수 있습니다. 분기를 전환하기 전에 변경 내용을 커밋하려면 [GitHub Desktop에서 프로젝트 변경 내용 커밋 및 검토](/ko/desktop/making-changes-in-a-branch/committing-and-reviewing-changes-to-your-project-in-github-desktop)을(를) 참조하세요.

> \[!TIP]
> **프롬프트** 설정에서 분기 전환에 대한 기본 동작을 설정할 수 있습니다. 자세한 내용은 [GitHub Desktop에서 기본 설정 구성하기](/ko/desktop/configuring-and-customizing-github-desktop/configuring-basic-settings-in-github-desktop)을(를) 참조하세요.

1. 리포지토리 표시줄에서 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-git-branch" aria-label="git-branch" role="img"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg> Current Branch**를 클릭한 다음, 전환하려는 브렌치를 클릭합니다.
   !["현재 분기" 드롭다운 보기의 스크린샷 "최근 브랜치"에서 "my-feature"라는 브랜치가 주황색 윤곽선으로 강조 표시됩니다.](/assets/images/help/desktop/select-branch-from-dropdown.png)
2. “분기 전환” 창에서 커밋되지 않은 변경 사항을 저장한 경우 **현재 분기에서 변경 내용 유지** 또는 **새로운 분기에 변경 내용 가져오기**를 선택한 다음 **분기 전환**을 클릭합니다.

## 브랜치 삭제

현재 열려 있는 끌어오기 요청과 연결된 분기는 삭제할 수 없습니다. 브랜치 삭제는 실행 취소할 수 없습니다.

<div class="ghd-tool mac">

1. 리포지토리 표시줄에서 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-git-branch" aria-label="git-branch" role="img"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg> 현재 분기**를 클릭한 다음 삭제하려는 분기를 클릭합니다.
   !["현재 분기" 드롭다운 보기의 스크린샷. "최근 분기"에서 "my-feature" 분기가 주황색 윤곽선으로 강조 표시됩니다.](/assets/images/help/desktop/select-branch-from-dropdown.png)
2. 메뉴 모음에서 **분기**를 클릭한 다음 **삭제...** 를 클릭합니다. <kbd>Shift</kbd>+<kbd>Command</kbd>+<kbd>D</kbd>를 누를 수도 있습니다.
   ![Mac의 메뉴 모음 스크린샷. 확장된 "분기" 드롭다운 메뉴에서 커서가 파란색으로 강조 표시된 "삭제" 옵션 위로 올려집니다.](/assets/images/help/desktop/delete-branch-mac.png)

</div>

<div class="ghd-tool windows">

1. 리포지토리 표시줄에서 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-git-branch" aria-label="git-branch" role="img"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg> 현재 분기**를 클릭한 다음 삭제하려는 분기를 클릭합니다.
   !["현재 분기" 드롭다운 보기의 스크린샷. "최근 분기"에서 "my-feature" 분기가 주황색 윤곽선으로 강조 표시됩니다.](/assets/images/help/desktop/select-branch-from-dropdown.png)
2. 메뉴 모음에서 **분기**를 클릭한 다음 **삭제...** 를 클릭합니다. <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>D</kbd>를 눌러도 됩니다.
   ![Windows에서 "GitHub Desktop" 메뉴 표시줄의 스크린샷입니다. 확장된 "분기" 드롭다운 메뉴에서 "삭제" 레이블이 지정된 옵션이 주황색으로 표시됩니다.](/assets/images/help/desktop/delete-branch-win.png)

</div>

## 추가 참고 자료

* [GitHub에서 GitHub Desktop으로 리포지토리 복제](/ko/desktop/adding-and-cloning-repositories/cloning-a-repository-from-github-to-github-desktop)
* ```
            GitHub 용어집의 [AUTOTITLE](/get-started/learning-about-github/github-glossary#branch)
  ```
* [지점](/ko/enterprise-server@3.22/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches)
* Git 설명서의 [분기에 대한 설명 요약](https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell)
* [GitHub Desktop에서 변경 내용을 임시 저장하기](/ko/desktop/making-changes-in-a-branch/stashing-changes-in-github-desktop)