2011-03-03 6 views
34

원격 git 브랜치를 삭제하려고하는데, 예상대로 프로세스가 "완전히"브랜치를 삭제하지 않습니다.당신은 어떻게 원격 git 브랜치를 "적절하게"삭제합니까, a.k.a. 모든 사용자에 대해 원격 브랜치 목록을 업데이트합니까?

예를 들어 mybranch이라는 지점을 삭제한다고 가정 해 보겠습니다. 이를 위해, 나는 다음과 같은 명령을 실행

git push origin :mybranch 

이 예상대로 분기를 제거하지, 내가 git branch -a을 할 경우 더 이상 로컬 또는 원격으로 목록에 나타납니다.

브랜치가있는 동안 git pull을 수행 한 다른 사람의 머신으로 이동하여 git branch -a을 수행하면 여전히 원격 브랜치로 표시됩니다.

여러 명령 (pull, gc, prune)을 시도했지만이 목록을 업데이트하고 원격 분기를 제거하지 않았습니다.

원격 지점 목록의 로컬 캐시를 동기화하는 명령이 있습니까 (더 이상 존재하지 않을 수도 있습니다). 더 이상 존재하지 않는 원격 분기를 제거 하시겠습니까?

답변

46

그들은 리모컨을 업데이트 할 때까지 저장소에서 발생한 일에 대해 알지 못합니다. 업데이트를 완료하면 (git fetch 또는 git remote update) git remote show origin은 더 이상 업스트림에없는 분기에 대해 로컬 추적 분기를 올바르게 표시합니다. 이 시점에서 git remote prune을 사용하여 오래된 로컬 브랜치를 제거 할 수 있습니다.

+23

'git remote prune origin'이 트릭을 수행했습니다. 건배. –

23

더 이상 원격에없는 원격 추적 분기를 제거하려면.

+0

내 하루를 저장했습니다. –

+0

이것은 내 엉덩이를 저장 :) –

관련 문제