Git에서 로컬 및 원격으로 분기를 삭제하는 방법

Git에서 로컬 및 원격으로 분기를 삭제하는 방법

Git의 가장 강력한 기능 중 하나는 경량 브랜치입니다. 병렬 개발 단계에서 효율적으로 작업할 수 있습니다. 개발자는 별도의 버그에 대해 개별 분기를 만들 수도 있습니다. 시간과 공간 모두에서 지점은 거의 비용이 들지 않습니다.





Windows 10 시작 시 검은 화면

많은 git 워크플로는 장기 및 임시 분기를 모두 처리합니다. 따라서 개발 중에 분기를 삭제해야 하는 경우가 종종 있습니다. 원격 서버 및 로컬 분기에서 공유 분기를 삭제해야 하는 경우가 있습니다.





지점을 삭제하는 이유는 무엇입니까?

첫째, 아직 git 을 이해하고 있다면 브랜치를 생성한 다음 필요하지 않다고 결정할 가능성이 매우 높습니다. 또는 가지를 실험하고 자신을 정리하고 싶을 수도 있습니다. git에서 분기하는 것은 가벼운 작업이기 때문에 괜찮습니다. 매우 빠르고 디스크 공간을 효율적으로 사용합니다.





결과적으로 많은 git 개발 워크플로는 매우 작거나 짧은 작업에 대해서도 분기를 권장합니다. 예를 들어 일반적인 전략은 지점을 만들다 단일 버그 수정을 위해. 이는 단일 작성자가 단일 파일에서 한 줄 변경을 수행하는 경우에도 마찬가지입니다.

이러한 이유로 분기 생성 및 삭제 작업은 잘 이해해야 합니다. 일반적인 개발 워크플로에서 분기를 삭제하는 경우가 많습니다.



분기가 있는 샘플 리포지토리

다음 예는 다음 구조의 샘플 리포지토리를 나타냅니다.

$ git branch -vv
1 dev 1ae41e8 [origin/dev] first commit
2 * main 1ae41e8 [origin/main] first commit

각 로컬 분기에는 원격에서 해당하는 업스트림 분기가 있습니다. 기원 .





명령줄을 사용하여 분기 삭제

분기를 삭제하기 위한 기본 명령 구문은 다음과 같습니다.

git branch (-d | -D) [-r] ...

가장 간단한 형태의 명령은 모든 변경 사항이 병합된 경우 로컬 분기를 삭제합니다.





$ git branch -d dev

현재 활성화된 브랜치는 삭제할 수 없습니다. 그렇게 하려고 하면 다음과 같은 메시지가 표시됩니다.

error: Cannot delete branch 'main' checked out at '/tmp/sandbox'

문제가 해결되면 확인 메시지가 표시됩니다.

Deleted branch dev (was 1ae41e8).

병합되지 않은 변경 사항과 함께 로컬에만 존재하는 분기를 삭제하면 해당 변경 사항이 손실됩니다. 따라서 git은 기본적으로 다음과 같은 상황에서 분기 삭제를 거부합니다.

error: The branch ‘dev’ is not fully merged.
If you are sure you want to delete it, run 'git branch -D dev’.

오류 메시지에서 알 수 있듯이 다음을 사용하여 강제로 삭제할 수 있습니다. -NS 깃발. 그러나 git을 사용하면 병합되지 않은 로컬 분기가 원격으로 존재하는 경우 삭제할 수 있습니다.

warning: deleting branch ‘dev’ that has been merged to
'refs/remotes/origin/dev’, but not yet merged to HEAD.
Deleted branch dev (was 9a6d20b).

원격 브랜치를 삭제하는 것은 상당히 다릅니다. 당신은 사용할 것입니다 자식 푸시 와 함께 명령 -NS 삭제할 플래그입니다. 그런 다음 리모컨의 이름을 제공하십시오(종종 기원 ) 및 지점 이름:

$ git push -d origin dev
To github.com:bobbykjack/sandbox.git
- [deleted] dev

GitHub Desktop으로 로컬 및 원격 분기 삭제

명령줄 git 프로그램과 달리 GitHub의 데스크톱 앱 활성 분기만 삭제할 수 있습니다. 다음을 통해 이 작업을 수행할 수 있습니다. 나뭇 가지 메뉴를 선택하여 삭제 옵션 및 확인:

GitHub Desktop에서는 기본 브랜치를 삭제할 수 없습니다. main - 비록 git 자체가 이것을 지원하지만. 기본 분기가 현재 활성화된 분기인 경우 앱은 메뉴 작업을 비활성화합니다.

분기도 원격 분기를 나타내는 경우 GitHub Desktop은 원격 분기에서도 삭제할 수 있는 옵션을 제공합니다.

GitKraken을 사용하여 분기 삭제

깃크랙 왼쪽 사이드바에 저장소의 로컬 및 원격 분기를 표시합니다. 각각 삭제해야 합니다.갈라져.

해당 지점 이름 위로 마우스를 가져간 다음 나뭇 가지 세 개의 수직 점처럼 보이는 작업 메뉴. 메뉴에서 선택 삭제 :

이것이 파괴적인 작업임을 알려주는 확인 메시지가 표시됩니다. 계속할 것인지 확인할 수 있습니다. 삭제 단추:

git 명령줄 프로그램의 기본 동작을 반영하여 먼저 삭제하려는 브랜치가 아닌 다른 브랜치로 전환해야 합니다.. 그렇지 않으면 오류 메시지가 표시됩니다.

Tower를 사용하여 로컬 및 원격 분기 삭제

다음을 사용하여 분기 삭제 GitKraken으로 분기를 삭제하는 것과 매우 유사합니다. 로컬 및 원격 분기는 왼쪽 패널에 표시됩니다. 분기를 마우스 오른쪽 버튼으로 클릭하고 상황에 맞는 메뉴에서 삭제 옵션을 선택합니다.

한 가지 주요 차이점은 확인하는 동안 원격 분기를 로컬 분기와 함께 삭제할 수 있다는 것입니다.

GitHub에서 브랜치 삭제

GitHub는 원격 소스로만 작동하므로 기본적으로 거기에 있는 분기는 원격입니다. GitHub 웹 사이트를 사용하여 분기를 삭제하는 경우 여기에서 다른 방법 중 하나를 사용하여 해당 로컬 분기를 삭제해야 합니다.

GitHub 데스크톱 앱과 마찬가지로 GitHub 웹사이트에서는 기본 브랜치를 삭제할 수 없습니다. 옵션은 단순히 나타나지 않습니다. 하지만 브랜치를 삭제하는 것은 간단합니다. 저장소의 암호 페이지에서 가지 링크를 클릭하고 삭제할 분기를 찾은 다음 이 분기 삭제 휴지통처럼 보이는 아이콘:

병합되지 않은 변경 사항에 대한 검사가 없으므로 GitHub에서 분기는 즉시 삭제됩니다. 그러나 항상 원격 분기를 나타내므로 이는 예상한 동작이어야 합니다.

삭제 후 다음 버튼이 표시됩니다. 복원하다 지점. 그러나 이는 실수로 삭제 아이콘을 클릭한 경우에 대비하여 유용한 실행 취소 기능일 뿐입니다. 페이지를 새로 고치거나 다른 페이지로 이동하는 즉시 옵션을 잃게 되므로 그것에 의존하지 마십시오!

Bitbucket에서 로컬 및 원격 분기 삭제

GitHub와 같은 Bitbucket에서는 기본 브랜치를 삭제할 수 없습니다. Bitbucket은 이것을 본점 ~에 저장소 설정 . 목록에 있는 다른 분기를 삭제할 수 있습니다. 지점 해당 탭을 통해 행위 메뉴:

대규모 정리 작업을 수행하는 경우 한 번에 둘 이상의 분기를 삭제할 수도 있습니다.

브랜치 삭제는 일반적인 Git 워크플로의 일부입니다.

Git 분기는 특히 로컬, 원격 및 추적 분기가 있는 워크플로를 복잡하게 만들 수 있습니다. 그러나 간단한 일상 개발의 경우 항상 로컬 분기를 만들고 삭제할 수 있습니다. 이것은 익숙해져야 하는 일반적인 git 워크플로의 핵심 측면입니다.

공유하다 공유하다 트위터 이메일 Git 브랜치를 사용하여 프로그래밍 프로젝트를 구조화하는 방법

이 기사에서는 코드 분기의 의미, 수행 방법, '기본' git 분기에 대한 업데이트를 관리하는 방법을 살펴보겠습니다.

다음 읽기
관련 항목
  • 프로그램 작성
  • 깃허브
저자 소개 바비 잭(게시된 기사 58건)

Bobby는 거의 20년 동안 소프트웨어 개발자로 일한 기술 애호가입니다. 그는 게임에 열정적이며 Switch Player Magazine에서 리뷰 편집자로 일하고 있으며 온라인 퍼블리싱 및 웹 개발의 모든 측면에 몰두하고 있습니다.

바비 잭이 참여한 작품 더보기

뉴스레터 구독

뉴스레터에 가입하여 기술 팁, 리뷰, 무료 전자책 및 독점 거래를 확인하십시오!

구독하려면 여기를 클릭하세요.