불필요한 것을 제거하는 것은 매우 중요합니다.
새로운 아이디어를 위한 공간을 확보하고, 남은 것들을 효율적으로 관리하는 데 도움이 됩니다. 오늘 우리는 GitHub에서 브랜치를 삭제하는 여러 방법을 자세히 살펴보겠습니다.
브랜치는 개발자에게 마치 선물과도 같습니다. 개발자라면 이 말에 공감하실 것입니다. 브랜치의 실제 활용 사례를 이미 알고 있다면 이 섹션은 건너뛰고 브랜치 삭제 부분으로 바로 이동해도 좋습니다. 하지만 Git 초보자이거나 브랜치에 대해 더 자세히 알고 싶다면 계속 읽어보세요.
브랜치란 무엇일까요?
브랜치는 커밋을 가리키는 포인터와 같습니다. 단순히 읽는 것만으로는 브랜치를 완전히 이해하기 어려울 수 있습니다. 브랜치가 어떻게 작동하는지 직접 살펴보는 것이 더 명확하게 이해하는 데 도움이 됩니다.
실제 개발자들이 프로젝트에서 브랜치를 어떻게 사용하는지 몇 가지 예시와 함께 알아보겠습니다. 아래 그림에서 각 원은 커밋을 나타냅니다.
간단한 실시간 시나리오를 통해 브랜치의 작업 흐름을 살펴보겠습니다.
- 제품 개발팀에서 일하고 있다고 가정해 봅시다.
- 어느 날, 팀 리더가 당신에게 와서 “제품에 버그가 좀 발생했어. 이걸 수정해야 해.”라고 말합니다.
- 당신은 “네, 알겠습니다.”라고 대답합니다.
- Git 커밋은 다음과 같습니다.
깃 커밋
- 마스터 브랜치에서 직접 작업하시겠습니까?
- 물론, 안 됩니다. 마스터 브랜치에서 직접 작업하면 나중에 심각한 문제가 발생할 수 있습니다. 언젠가 왜 그런지 보여드리겠습니다.
- 이제 버그를 수정하기 위해 마스터 브랜치에서 새로운 브랜치를 만들기로 결정합니다. 두 브랜치는 현재 동일한 커밋을 가리키고 있습니다.
새로운 브랜치
- 버그 수정 작업을 시작하고 5번의 커밋을 했습니다. 이제 새로운 브랜치는 다음과 같이 진행됩니다.
새로운 커밋
- C8 커밋을 가리키는 새로운 브랜치와 C3 커밋을 가리키는 마스터 브랜치가 있습니다.
- 이때, 팀에서 다시 연락이 와서 “제품에 즉시 수정해야 할 심각한 버그가 발생했어!”라고 합니다.
- 이런! 큰일이군요.
- 이미 버그 수정 작업을 하고 있는데, 이제 더 시급한 문제가 생긴 것입니다.
- 따라서 새로운 버그를 수정하기 위해 전환해야 합니다.
- 지금까지 작업한 코드는 어떻게 될까요?
- 이전 버그를 수정하기 위해 새로운 브랜치를 만들었으므로 걱정할 필요가 없습니다. 지금까지 작업한 모든 코드는 버그 수정 브랜치에 저장되어 있습니다.
- 이제 마스터 브랜치로 전환한 다음 critical-bug-fix라는 새로운 브랜치를 만들고 새로운 버그 수정 작업을 시작합니다.
또 다른 새로운 브랜치
- 만약 이전 버그에 대한 새로운 브랜치를 만들지 않았다면 어떻게 됐을까요?
- 이전 버그에 작성한 모든 코드를 삭제하고 새 버그에 대한 작업을 시작해야 할 것입니다. 그리고 나중에 이전 버그에 대한 코드를 다시 작성해야 할 수도 있습니다.
- 바로 이것이 브랜치가 필요한 이유입니다.
- 브랜치를 사용하면 독립적으로 코드를 개발할 수 있습니다.
- 이제 새로운 버그를 수정하고 커밋하는 코드를 작성했습니다.
새 브랜치 커밋
- 새로운 버그 수정이 완료되었습니다.
- 이제 이전 버그 브랜치로 전환하여 작업을 계속합니다.
보시다시피, 브랜치를 사용하면 매우 체계적으로 작업을 관리할 수 있습니다. 브랜치가 없다면 상황은 더욱 혼란스러울 것입니다.
결론적으로, 브랜치는 우리와 같은 개발자에게 큰 도움이 됩니다.
더 이상 미루지 않고 이제 브랜치를 삭제하는 방법을 알아보겠습니다.
Git 클라이언트를 사용하여 브랜치 삭제하기
브랜치를 삭제한다는 것은 로컬과 원격 저장소 모두에서 삭제하는 것을 의미합니다. 따라서 동일한 브랜치를 두 번 삭제한다고 혼동하지 마세요. 브랜치를 삭제하는 단계를 살펴보겠습니다.
- 터미널 또는 cmd를 열고 Git 저장소로 이동합니다.
git branch -a명령어를 사용하여 저장소에 있는 브랜치들을 확인합니다. 로컬 및 원격 브랜치가 모두 표시됩니다.
저장소 브랜치
- 삭제할 브랜치 이름을 복사합니다. 위 예시에서는 1번입니다.
- 마스터 또는 메인 브랜치 또는 삭제하려는 브랜치가 아닌 다른 브랜치로 체크아웃합니다.
git branch -d branchName명령어를 사용하여 해당 브랜치를 로컬에서 삭제합니다.branchName부분을 실제 브랜치 이름으로 바꿔야 합니다.
로컬 브랜치 삭제
git branch -a명령어로 브랜치를 다시 확인합니다. 원격에서 아직 삭제하지 않았으므로 원격 브랜치 목록에서 해당 브랜치를 찾을 수 있습니다.
브랜치 목록
- 원격에서 브랜치를 삭제하려면
git push remoteName -d branchName명령어를 실행합니다.remoteName과branchName부분을 적절한 이름으로 바꿔야 합니다.
원격 브랜치 삭제
- 원격에서 브랜치를 삭제하는 더 짧은 명령어도 있습니다.
git push remoteName :branchName명령어를 사용하면 됩니다.
이제 브랜치를 다시 확인해 보세요. 위 단계를 올바르게 따랐다면 로컬 및 원격 저장소 모두에서 삭제된 브랜치를 찾을 수 없을 것입니다.
브랜치 목록
존재하지 않는 브랜치를 삭제하려고 시도하면 브랜치를 찾을 수 없다는 오류 메시지가 표시됩니다.
삭제 오류
이것으로 완료되었습니다. 로컬 및 원격 저장소에서 브랜치를 성공적으로 삭제했습니다.
GitHub 웹 인터페이스를 사용하여 삭제하는 방법도 있습니다.
한번 살펴볼까요?
웹 인터페이스를 사용하여 브랜치 삭제하기
이전 방법과 큰 차이는 없습니다. 여기서는 GitHub 웹 인터페이스를 사용하여 원격 브랜치를 삭제합니다. 그리고 위에서 했던 것처럼 로컬 브랜치는 명령어를 사용하여 삭제합니다.
GitHub 웹 인터페이스를 사용하여 원격 브랜치를 삭제하는 방법을 살펴보겠습니다.
- GitHub에 접속합니다.
- 본인 계정으로 로그인합니다.
- 브랜치를 삭제하려는 저장소로 이동합니다.
저장소
- 브랜치 버튼을 클릭하면 저장소의 모든 브랜치를 볼 수 있습니다.
저장소 브랜치
- 저장소의 브랜치 목록이 표시됩니다.
- 각 브랜치 끝에는 삭제 아이콘이 있습니다.
브랜치 삭제 버튼
- 원격에서 브랜치를 삭제하려면 삭제 아이콘을 클릭합니다.
삭제된 브랜치
- ‘복원’ 버튼을 클릭하여 브랜치를 복원할 수 있습니다. 페이지를 새로 고침하거나 닫기 전까지는 복원할 수 있습니다.
복원 버튼
이제 원격 브랜치를 삭제했습니다. 로컬 저장소로 이동하여 첫 번째 방법에서 살펴본 명령어를 사용하여 로컬 브랜치를 삭제하세요.
이제 git branch -a 명령어를 실행하여 모든 브랜치를 확인해 봅니다.
브랜치 목록
삭제된 원격 브랜치가 아직 목록에 표시되는 것을 확인할 수 있습니다. 어떻게 된 일일까요? 어떻게 해결할 수 있을까요? 직장에서 이런 상황에 직면할 수 있습니다. 아래 시나리오를 참고하세요.
팀에서 일하고 있다고 가정해 봅시다. 팀 리더가 특정 작업이 완료되면 원격 브랜치를 삭제했습니다. 여러분은 이 사실을 어떻게 알 수 있을까요? 원격에서 삭제된 브랜치를 알 수 있는 방법이 있을까요?
삭제된 브랜치에 대한 로컬 및 원격 저장소를 동기화해야 합니다. 이를 수행하는 특정 명령어가 있습니다.
git remote prune remoteName
git fetch -p remoteName
-p 옵션은 두 번째 명령어에서 정리하는 단축키입니다. 위의 두 명령어 모두에서 prune 옵션은 원격 브랜치에 대한 참조를 삭제합니다.
prune fetch
이제 git branch -a 명령어를 실행하여 브랜치 목록을 확인하세요.
브랜치 목록
원격 브랜치가 목록에 더 이상 표시되지 않는 것을 확인할 수 있습니다. 하지만 로컬 브랜치는 여전히 남아 있습니다. 네, 맞습니다. 그것은 문제가 되지 않습니다. 유지하거나 삭제할 수 있습니다.
따라서 로컬에는 있지만 원격에는 없는 브랜치를 확인하고 원격에서 삭제된 로컬 브랜치를 삭제하세요.
이제 브랜치 목록이 깔끔해졌습니다. 이제 다음 작업을 할 수 있습니다.
결론
대부분의 경우 Git 작업을 위해 터미널이나 cmd를 사용합니다. 편리하긴 하지만 필수는 아닙니다. 결국 개인적인 취향의 문제입니다.
어떤 도구나 방법을 사용하든 결과는 같습니다. 편리한 것을 선택하고 그에 따라 작업을 완료하세요(브랜치 삭제의 두 단계). 로컬 및 원격 저장소에서 브랜치를 삭제하는 것입니다.
다음으로는 GitHub 저장소를 삭제하는 방법을 알아볼 예정입니다.
즐거운 개발 되세요! 🙂
기사가 흥미로우셨나요? 다른 사람들과 공유해 보는 건 어떨까요?