답변:
원격 분기의 로컬 목록을 업데이트하려면 다음을 수행하십시오.
git remote update origin --prune
Git이 알고있는 모든 로컬 및 원격 지점을 표시하려면
git branch -a
git remote update origin --prune
내가 찾고 있었던 것은 thx
git fetch
원격 지점의 로컬 캐시를 제거하지 않았습니다. 만 --prune
모두 정리 할 수 있었다.
git config remote.origin.prune true
git remote prune origin
같은 효과가 있고 덜 입력합니다.
git branch --all
Bash에서 실행하면 원격 및 로컬 분기 목록이 명령을 실행할 때 로컬 Git이 알고있는 것을 반영 한다고 생각합니다 . Git은 시스템의 로컬 브랜치와 관련하여 항상 최신 상태이므로 로컬 브랜치 목록은 항상 정확합니다.
그러나 원격 지점의 경우에는 그렇지 않습니다. 로컬 Git은 마지막 페치 (또는 풀)에서 본 원격 브랜치에 대해서만 알고 있습니다. 그래서 당신이 실행할 수있는 가능성이있다 git branch --all
하고 없는 나타난 새 원격 지점을 참조 후 당신이 가져온 또는 뽑아 마지막 시간을.
로컬 및 원격 분기 목록을 최신 상태로 유지하려면 실행 git fetch
하기 전에 수행 할 수 있습니다 git branch --all
.
추가 정보를 위해, 실행할 때 나타나는 "원격"브랜치 git branch --all
는 전혀 원격이 아닙니다. 그들은 실제로 지역입니다. 예를 들어, 원격 feature
Git에 한 번 이상 가져온 분기가 있다고 가정 하십시오. origin/feature
실행할 때 분기로 표시 됩니다 git branch --all
. 그러나이 지점은 실제로 로컬 Git 지점입니다. 을 (를) 수행 git fetch origin
하면이 추적 분기가 원격의 새로운 변경 사항으로 업데이트됩니다. 새로운 원격 지점이 있거나 추적 지점이 오래 될 수 있기 때문에 로컬 상태가 오래 될 수 있습니다.
git fetch
.
git fetch
나를 위해 작동하지 않습니다, 추가해야합니다 --prune
. Btw, 난 downvoter 아니에요;)
git fetch
삭제 된 원격 브랜치를 제거하지 않습니다. 아마 일부 사람들이
OP는 모든 원격 장치에 대한 정리를 요청하지 않았으며 기본 원격의 모든 분기에 대해 정리를 요청했습니다.
그래서 git fetch --prune
사용해야합니다.
설정 git config remote.origin.prune true
은 --prune
자동으로 이루어집니다. 이 경우 git fetch
로컬 복사본에서 오래된 원격 분기도 제거합니다. Git 페치 또는 풀을 사용한 자동 프룬 도 참조하십시오 .
더 이상 원격 지점을 추적하지 않는 로컬 지점은 정리하지 않습니다. 더 이상 원격에 존재하지 않는 로컬 추적 분기를 제거하는 방법을 참조하십시오 .
git fetch -p
git fetch
최근에 생성 된 모든 분기를 가져 오는 데 사용 합니다.
git fetch
자식 2.17.1로 나를 위해 아무것도 변경하지 않았습니다. 어떤 버전과 옵션을 사용하고 있습니까?
--prune
또는 git config remote.NAME.prune true
이 중 하나가 필요합니다
Eclipse를 사용하는 경우
그들은 모두 거기에 있어야합니다. 마우스 오른쪽 버튼을 클릭하고 "체크 아웃"
git ls-remote
여기에 흥미로울 수 있습니다.