개발관련/Git

Git 브랜치를 로컬 및 원격으로 삭제하는 방법

Rateye 2021. 7. 23. 11:45
728x90
반응형
질문 : Git 브랜치를 로컬 및 원격으로 삭제하려면 어떻게해야합니까?

로컬 및 원격으로 브랜치를 삭제하고 싶습니다.

$ 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 의 별칭으로, 업스트림 분기에서 이미 완전히 병합 된 경우에만 분기를 삭제합니다. "병합 상태에 관계없이"브랜치를 삭제하는 --delete --force 의 별칭 인 -D 를 사용할 수도 있습니다. [출처 : man git-branch ]
또한 제거하려는 분기에 현재있는 경우 git branch -d branch_name 메시지는 오류로 시작합니다. error: Cannot delete the branch 'branch_name' 그렇다면 먼저 다른 분기로 전환하십시오 (예 : git checkout main .

원격 분기 삭제[8-Sept-2017에 업데이트됨]

Git v1.7.0부터는 다음을 사용하여 원격 브랜치를 삭제할 수 있습니다.

$ git push <remote_name> --delete <branch_name>

기억하기 더 쉬울 수 있습니다.

$ git push <remote_name> :<branch_name>

이는 Git v1.5.0에서 "원격 브랜치 또는 태그를 삭제하기 위해"추가되었습니다.

Git v2.8.0 부터는 --delete 의 별칭으로 -d 옵션과 함께 git push 를 사용할 수도 있습니다.

따라서 설치 한 Git 버전에 따라 더 쉬운 구문을 사용해야하는지 더 어려운 구문을 사용해야하는지 결정됩니다.

원격 분기 삭제[2010년 1월 5일 원본 답변]

Scott Chacon 의 Pro Git 3 장에서 발췌 :

원격 지점 삭제

원격 브랜치 작업을 완료했다고 가정 해 보겠습니다. 예를 들어 귀하와 귀하의 공동 작업자가 기능을 완료하고이를 원격의 기본 브랜치 (또는 안정적인 코드 라인이있는 브랜치)에 병합했습니다. git push [remotename] :[branch] 사용하여 원격 분기를 삭제할 수 있습니다. 서버에서 server-fix 브랜치를 삭제하려면 다음을 실행합니다.

$ 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
 

변경 사항을 전파합니다.

출처 : https://stackoverflow.com/questions/2003505/how-do-i-delete-a-git-branch-locally-and-remotely
728x90
반응형