로컬 및 원격으로 분기를 삭제하고 싶습니다.
원격 지점을 삭제하지 못했습니다.
$ git branch -d remotes/origin/bugfix
error: branch 'remotes/origin/bugfix' not found.
$ git branch -d origin/bugfix
error: branch 'origin/bugfix' not found.
$ git branch -rd origin/bugfix
Deleted remote branch origin/bugfix (was 2a14ef7).
$ git push
Everything up-to-date
$ git pull
From github.com:gituser/gitproject
* [new branch] bugfix -> origin/bugfix
Already up-to-date.
remotes/origin/bugfix
로컬 및 원격으로 분기 를 성공적으로 삭제하려면 어떻게해야 합니까?
답변
행정상 개요
$ git push -d <remote_name> <branch_name>
$ git branch -d <branch_name>
대부분의 경우 원격 이름은 origin
입니다. 이 경우 명령을 사용해야합니다.
$ git push -d origin <branch_name>
지사 삭제
로컬 브랜치 를 삭제하려면 다음 중 하나를 사용하십시오.
$ git branch -d branch_name
$ git branch -D branch_name
참고 : 이 -d
옵션은에 대한 별칭으로 --delete
, 분기가 업스트림 분기에 완전히 병합 된 경우에만 분기를 삭제합니다. 에 -D
대한 별칭 인을 사용할 수도 있습니다 . 이는 --delete --force
“병합 상태에 관계없이”분기를 삭제합니다. [출처 : man git-branch
]
원격 지점 삭제 [2017 년 9 월 8 일에 업데이트 됨]
현재 힘내 v1.7.0 , 당신은 삭제할 수 있습니다 원격 사용하여 분기를
$ git push <remote_name> --delete <branch_name>
어느 것보다 기억하기 쉬울 수 있습니다
$ git push <remote_name> :<branch_name>
Git v1.5.0에서 “원격 브랜치 또는 태그를 삭제하기 위해” 추가되었습니다 .
Git v2.8.0 부터는 별명으로 옵션과 git push
함께 사용할 수도 있습니다 .-d
--delete
따라서 설치 한 Git 버전은 더 쉬운 구문을 사용해야하는지 아니면 더 어려운 구문을 사용해야하는지에 따라 결정됩니다.
원격 지점 삭제 [2010 년 1 월 5 일의 원본 답변]
Scott Chacon 의 Pro Git 3 장 :
원격 지점 삭제
원격 지사가 완료되었다고 가정합니다. 사용자와 공동 작업자는 기능을 마치고이를 원격의 마스터 지사 (또는 안정적인 코드 라인이있는 지사)로 병합했습니다. 다소 둔감 한 구문을 사용하여 원격 브랜치를 삭제할 수 있습니다
git push [remotename] :[branch]
. 서버에서 서버 수정 분기를 삭제하려면 다음을 실행하십시오.$ git push origin :serverfix To git@github.com:schacon/simplegit.git - [deleted] serverfix
팔. 서버에 더 이상 지점이 없습니다. 해당 명령이 필요하고 구문을 잊어 버릴 수 있기 때문에이 페이지를보고 싶어 할 수 있습니다. 이 명령을 기억하는 방법
git push [remotename] [localbranch]:[remotebranch]
은 우리가 조금 앞서 살펴본 구문을 상기시키는 것입니다.[localbranch]
당신이 그 부분 을 떠나면 , 당신은 기본적으로“내 편에 아무것도 가지고 가지 않도록하세요[remotebranch]
.”라고 말합니다.
나는 발행 git push origin: bugfix
했고 아름답게 일했다. Scott Chacon이 옳았습니다. 저는 해당 페이지에 귀 를 기울이고 싶습니다 (또는 Stack Overflow에서 이에 대한 대답을 통해 사실상 개 귀에).
그런 다음 다른 컴퓨터에서 실행해야합니다.
# Fetch changes from all remotes and locally delete
# remote deleted branches/tags etc
# --prune will do the job :-;
git fetch --all --prune
변경 사항을 전파합니다.
답변
Matthew의 대답 은 원격 브랜치 를 제거하는 데 유용하며 설명도 감사하지만 두 명령을 간단하게 구분합니다.
머신에서 로컬 브랜치 를 제거하려면 :
git branch -d {the_local_branch}
( -D
병합 상태를 확인하지 않고 분기를 강제로 삭제 하려면 대신 사용 )
서버에서 원격 분기 를 제거하려면 다음을 수행하십시오 .
git push origin --delete {the_remote_branch}
답변
짧은 답변
다음 명령에 대한 자세한 설명을 보려면 다음 섹션에서 긴 답변을 참조하십시오.
원격 브랜치 삭제
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
또한보십시오
답변
브랜치를 삭제하는 단계 :
원격 브랜치 를 삭제하려면 다음을 수행하십시오 .
git push origin --delete <your_branch>
삭제를 들어 지역 지점을 , 당신은 세 가지 방법 :
1: git branch -D <branch_name>
2: git branch --delete --force <branch_name> # Same as -D
3: git branch --delete <branch_name> # Error on unmerge
설명 : 좋아, 여기서 무슨 일이 일어나고 있는지 설명해주세요!
간단하게 수행 git push origin --delete
하기 위해 원격 지점을 삭제 만 , 마지막에 분기의 이름을 추가하고이 삭제되고 밀어 원격 동시에 …
또한 git branch -D
로컬 분기 만 삭제하는 !! …
-D
는 --delete --force
병합되지 않은 분기를 삭제하는 (강제 삭제) -d
를 의미 하지만 --delete
분기 병합 상태 각각에 오류가 발생 하는 스탠드를 사용할 수도 있습니다 …
또한 아래 이미지를 만들어 단계를 보여줍니다.
답변
다음을 사용하여 원격 지점을 삭제할 수도 있습니다
git push --delete origin serverfix
어느 것과 같은
git push origin :serverfix
그러나 기억하기가 더 쉬울 수 있습니다.
답변
팁 :를 사용하여 분기를 삭제할 때
git branch -d <branchname> # Deletes local branch
또는
git push origin :<branchname> # Deletes remote branch
참조 만 삭제됩니다. 지점이 실제로 원격에서 제거되었지만 지점에 대한 참조는 여전히 팀 구성원의 로컬 저장소에 있습니다. 이는 다른 팀 구성원의 경우 삭제 된 분기가 계속 수행 될 때 계속 표시됨을 의미합니다 git branch -a
.
이를 해결하기 위해 팀 구성원은 삭제 된 분기를
git remote prune <repository>
이것은 일반적으로 git remote prune origin
입니다.
답변
지점을 삭제하려면 먼저 삭제할 지점 이외의 지점으로 체크 아웃하십시오.
git checkout other_than_branch_to_be_deleted
로컬 브랜치 삭제 :
git branch -D branch_to_be_deleted
원격 브랜치 삭제 :
git push origin --delete branch_to_be_deleted