본문 바로가기
Programming

Git에서 삭제되지 않는 원격 브랜치 삭제 방법

by 느리게 걷는 즐거움 2024. 11. 28.
반응형

Git에서 삭제되지 않는 원격 브랜치 삭제 방법

 

Git을 사용하다 보면 원격 브랜치를 삭제했음에도 불구하고 여전히 남아 있는 경우가 있습니다. 이는 로컬 Git 저장소와 원격 저장소 간의 상태가 제대로 동기화되지 않아서 발생하는 문제일 수 있습니다. 이번 글에서는 이런 상황에서 원격 브랜치를 완전히 삭제하는 방법을 단계별로 알아보겠습니다.

 

1. 원격 브랜치 삭제 명령어

 

Git에서 원격 브랜치를 삭제하려면 다음 명령어를 사용합니다:

git push origin --delete <branch-name>

위 명령어는 원격 저장소(origin)에서 <branch-name> 브랜치를 삭제합니다.

 

git push origin --delete feature/login

 

2. 브랜치가 삭제되지 않은 것처럼 보이는 이유

 

원격 브랜치를 삭제한 후에도 git branch -r 명령어를 실행하면 여전히 해당 브랜치가 표시될 수 있습니다. 이는 로컬 Git 저장소의 원격 브랜치 정보가 업데이트되지 않았기 때문입니다.

Git은 원격 브랜치 정보를 캐시에 저장하고, 해당 캐시는 자동으로 갱신되지 않습니다.

 

3. 삭제된 브랜치 정보를 반영하기

 

삭제된 브랜치 정보를 로컬 저장소에서 제거하려면 다음 명령어를 실행합니다:

git fetch --prune

이 명령어는 로컬에 저장된 원격 브랜치 캐시를 정리(prune)하고, 실제 원격 저장소 상태와 동기화합니다. 이제 git branch -r 명령어를 실행했을 때 삭제된 브랜치가 더 이상 보이지 않을 것입니다.

 

4. 강제로 원격 브랜치 삭제하기

 

때로는 브랜치가 보호되어 있거나 권한 문제로 인해 삭제 명령어가 실패할 수 있습니다. 이런 경우 브랜치를 강제로 삭제하려면 원격 저장소 관리자 권한이 필요합니다. GitHub, GitLab 등의 플랫폼에서는 관리 인터페이스에서 브랜치를 삭제할 수 있습니다.

GitHub에서 브랜치를 삭제하는 방법:

  1. 저장소 페이지로 이동합니다.
  2. Branches 탭으로 이동합니다.
  3. 삭제하려는 브랜치 옆의 Delete 버튼을 클릭합니다.

 

5. 로컬에서 동일한 이름의 브랜치 삭제

 

원격 브랜치를 삭제한 후, 동일한 이름의 로컬 브랜치도 삭제하려면 다음 명령어를 사용합니다:

git branch -d <branch-name>

만약 해당 브랜치가 병합되지 않아 삭제가 거부된다면 강제 삭제 옵션을 사용하세요:

git branch -D <branch-name>

 

6. 확인: 브랜치가 완전히 삭제되었는지 점검하기

 

  1. 로컬에서 원격 브랜치 정보 확인:
  2. git branch -r
  3. 원격 저장소 상태 확인:
  4. git ls-remote --heads origin

위 두 명령어에서 삭제한 브랜치가 더 이상 표시되지 않으면 성공적으로 삭제된 것입니다.

 

 

반응형