development

git remote branch가 삭제되었지만 여전히 'branch -a'에 나타납니다.

big-blog 2020. 2. 12. 23:40
반응형

git remote branch가 삭제되었지만 여전히 '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

( -r잊기 쉽다 ...)

이 경우 -r은 "원격 추적 분기를 나열하거나 삭제합니다 (-d와 함께 사용하는 경우)". 여기에있는 자식 문서에 따르면 https://git-scm.com/docs/git-branch


시도해 보았 니: git remote prune origin

로부터 자식 원격 문서 :

치다

<name> 아래의 오래된 원격 추적 분기를 모두 삭제합니다. 이 오래된 지점은 <name>에서 참조하는 원격 저장소에서 이미 제거되었지만 "remotes / <name>"에서 여전히 로컬로 사용 가능합니다.

--dry-run 옵션을 사용하면 잘라낼 가지를보고하지만 실제로 제거하지는 않습니다.


최고를 잊지 마세요

git fetch -p

모든 원점을 가져오고 정리합니다.


우리의 특별한 경우에, 우리는 원격 git repo로 Stash를 사용합니다. 우리는 위의 모든 것을 시도했지만 아무것도 작동하지 않았습니다. 결국 다음을 수행해야했습니다.

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

그런 다음 사용자가 변경 사항을 가져 오면 다음을 수행해야했습니다.

git fetch -p

git remote prune <remote>

origin 또는 upstream<remote> 과 같은 원격 소스 이름은 어디에 있습니까 ?

예: git remote prune origin

참고 URL : https://stackoverflow.com/questions/5094293/git-remote-branch-deleted-but-still-appears-in-branch-a



반응형