programing

Git 원격 분기가 삭제되었지만 'branch -a'에 계속 표시됨

batch 2023. 4. 21. 20:23
반응형

Git 원격 분기가 삭제되었지만 'branch -a'에 계속 표시됨

예를 들어, 제겐 다음과 같은 이름의 지부가 있다고 가정해당 지점은coolbranch내 저장소에서.

다음으로 (리모트 및 로컬 모두) 삭제하기로 했습니다.

git push origin :coolbranch
git branch -D coolbranch

좋아! 이제 브랜치가 정말 삭제되었어.

하지만 내가 달릴 때

git branch -a

아직도 이해되는 건:

remotes/origin/coolbranch

주의할 점은 새 저장소를 복제하면 모든 것이 정상이고git branch -a브랜치가 표시되지 않습니다.

알고 싶다 - 에서 브랜치를 삭제할 수 있는 방법이 있습니까?branch -a새 인스턴스를 복제하지 않고 나열하시겠습니까?

git remote prune origin오래된 가지를 모두 제거합니다.대부분의 경우 그렇게 하고 싶지만 특정 원격 추적 브랜치를 제거하려면 다음 작업을 수행해야 합니다.

git branch -d -r origin/coolbranch

(the.-r잊기 쉽다...)

-r이 경우 "List or delete(목록 또는 삭제)"(와 함께 사용되는 경우)-d리모트 액세스 브랜치」는, 다음의 Git 메뉴얼을 참조해 주세요.https://git-scm.com/docs/git-branch

시험:

git remote prune origin

Git 리모트 매뉴얼:

가지치기하다

<name> 아래의 오래된 리모트 트래킹브런치를 모두 삭제합니다.이러한 오래된 브랜치는 <name>이 참조하는 리모트저장소에서 이미 삭제되었지만 "remotes/<name>"에서는 아직 로컬로 사용할 수 있습니다.

--dry-run 옵션을 사용하면 제거할 브랜치를 보고하지만 실제로 플루닝하지는 않습니다.

멋진 걸 잊지 마

git fetch -p

모든 기원을 끌어내고 자른다는 거죠

특히 Stash를 리모트 Git 저장소로 사용하고 있습니다.이전 답변을 모두 시도해 봤지만 아무 것도 효과가 없었습니다.결과적으로 다음과 같은 작업을 수행해야 했습니다.

git branch –D branch-name (delete from local)
git push origin :branch-name (delete from remote)

그런 다음 사용자가 변경 내용을 가져올 때 다음을 수행해야 합니다.

git fetch -p

용도:

git remote prune <remote>

어디에<remote>는, 오리진이나 업스트림등의 리모트 송신원명입니다.

예:git remote prune origin

사용하고 있습니다.

git fetch -p && git branch -vv | awk '/: gone]/{print $1}' | xargs git branch -D

병합된 브런치를 가리키는 로컬브런치를 삭제합니다.

언급URL : https://stackoverflow.com/questions/5094293/git-remote-branch-deleted-but-still-it-appears-in-branch-a

반응형