짧은 답변
다음 명령에 대한 자세한 설명을 보려면 다음 섹션에서 긴 답변을 참조하십시오.
원격 브랜치 삭제
git push origin --delete <branch> # Git version 1.7.0 or newer
git push origin -d <branch> # Shorter version (Git 1.7.0 or newer)
git push origin :<branch> # Git versions older than 1.7.0
지역 지점 삭제
git branch --delete <branch>
git branch -d <branch> # Shorter version
git branch -D <branch> # Force-delete un-merged branches
로컬 원격 추적 지점 삭제
git branch --delete --remotes <remote>/<branch>
git branch -dr <remote>/<branch> # Shorter
git fetch <remote> --prune # Delete multiple obsolete remote-tracking branches
git fetch <remote> -p # Shorter
긴 대답 : 삭제하는 세 가지 다른 가지가 있습니다!
로컬 및 원격으로 분기를 삭제하는 경우 다음과 같은 세 가지 분기가 있습니다 .
- 로컬 지점
X
.
- 원격 원점
X
.
- 지역 원격 추적 브랜치
origin/X
는 원격 브랜치를 추적합니다 X
.
사용 된 원래 포스터 :
git branch -rd origin/bugfix
로컬 원격 추적 분기 만 삭제했지만 origin/bugfix
의 실제 원격 분기 bugfix
는 삭제 되지 않았습니다 origin
.
그 실제 원격 지점을 삭제하려면 다음이 필요합니다
git push origin --delete bugfix
추가 세부 사항
다음 섹션에서는 원격 및 원격 추적 분기를 삭제할 때 고려해야 할 추가 정보에 대해 설명합니다.
원격 브랜치를 삭제하면 원격 추적 브랜치도 제거됩니다.
X
a git push
를 사용하여 명령 줄에서 원격 분기 를 삭제하면 로컬 원격 추적 분기도 제거origin/X
되므로 git fetch --prune
또는로로 사용되지 않는 원격 추적 분기를 제거 할 필요가 없습니다 git fetch -p
. 그러나 어쨌든 해치지 않을 것입니다.
origin/X
다음을 실행하여 원격 추적 분기 도 삭제 되었는지 확인할 수 있습니다 .
# View just remote-tracking branches
git branch --remotes
git branch -r
# View both strictly local as well as remote-tracking branches
git branch --all
git branch -a
더 이상 사용되지 않는 로컬 원격 추적 분기 원점 / X 정리
X
명령 줄에서 원격 분기 를 삭제하지 않은 경우 (위와 같이) 로컬 리포지토리에는 여전히 원격 추적 분기가 포함됩니다 (이제 더 이상 사용되지 않음) origin/X
. 예를 들어 GitHub의 웹 인터페이스를 통해 원격 브랜치를 직접 삭제 한 경우에 발생할 수 있습니다.
이 구식 원격 추적 분기를 제거하는 일반적인 방법 (Git 버전 1.6.6부터)은 간단히 또는 더 짧게 실행 git fetch
하는 것 입니다. 이렇게하면 더 이상 원격에 존재하지 않는 원격 분기에 대해 사용되지 않는 모든 로컬 원격 추적 분기가 제거됩니다 .--prune
-p
git fetch origin --prune
git fetch origin -p # Shorter
1.6.6 릴리스 노트 (강조 광산) 의 관련 인용문은 다음과 같습니다 .
많은 저장소에서 가져 오기를 실행하기위한 "git fetch"학습--all
및 --multiple
옵션, --prune
오래된 원격 추적 분기 제거 옵션. 이것들은 "git remote update"와 "git remote prune"을 덜 필요로한다 (그러나 "remote update"나 "remote prune"을 제거 할 계획은 없다).
더 이상 사용되지 않는 원격 추적 분기를위한 위의 자동 가지 치기 대신
또한, 대신 통해 사용되지 않는 지역의 원격 추적 가지를 가지 치기의 git fetch -p
, 당신은 여분의 네트워크 작업을 피할 수있는 단지 수동으로 분기 (들) 제거 --remote
또는 -r
플래그 :
git branch --delete --remotes origin/X
git branch -dr origin/X # Shorter
또한보십시오