Dev/VCS

Git 브랜치 삭제

dragonhyeon 2024. 12. 29. 20:28
728x90
반응형

로컬 브랜치 삭제

  • 다른 브랜치에 merge 된 브랜치 삭제
git branch -d <branch-name>
  • 다른 브랜치에 merge 된 & merge 되지 않은 브랜치 삭제
git branch -D <branch-name>

원격 브랜치 & 원격 추적 브랜치 삭제

  • 원격 저장소의 원격 브랜치 삭제 (로컬에 해당 원격 브랜치에 대한 원격 추적 브랜치도 존재한다면 함께 삭제됨)
git push <remote-alias> --delete <branch-name>
  • 로컬에 있는 원격 추적 브랜치 삭제
git branch -r -d <remote-tracking-branch>  # -r 옵션을 사용하여 원격 추적 브랜치 삭제. -rd 형식으로도 사용 가능

로컬 저장소를 원격 저장소와 동기화시켜 로컬의 원격 추적 브랜치 정리

git fetch --prune 은 로컬상의 원격 추적 브랜치를 항상 원격 저장소의 원격 브랜치에 정확히 일치시킵니다.

  • 원격 저장소에 존재하는 원격 브랜치의 최신 상태를 로컬상의 원격 추적 브랜치에 반영
    • 로컬에 원격 저장소의 원격 브랜치에 대응하는 원격 추적 브랜치가 존재하지 않는다면 생성 및 반영
  • 원격 저장소에 더이상 존재하지 않는 원격 브랜치에 대한 로컬의 원격 추적 브랜치 삭제
git fetch <remote-alias> --prune
항상 git fetch --prune 을 사용하지 않고 경우에 따라 git fetch 를 사용하는 이유는 1) 사용자의 의도로 로컬상에 원격 추적 브랜치를 일부러 유지하려는 경우와, 2) 원격 브랜치가 자주 삭제되지 않는다면 굳이 매번 --prune 옵션을 사용하여 작업 오버헤드를 늘릴 필요가 없기 때문입니다.
728x90
반응형

'Dev > VCS' 카테고리의 다른 글

PR 작성과 리뷰  (1) 2024.12.31
Git 태그  (2) 2024.12.31
Git rebase, squash  (1) 2024.12.27
Git fast-forward merge, 3-way merge  (0) 2024.12.24
Git 협업 방법 clone, fork  (2) 2024.12.17