반응형
git remote prune – 예상대로 많은 가지 가지가 보이지 않았습니다.
매뉴얼 페이지에서 :
Deletes all stale tracking branches under <name>. These stale branches have already been removed from the remote repository referenced by <name>, but are still locally available in "remotes/<name>".
그래서 나는 나뭇 가지를 제거하여
git push origin :staleStuff
그리고 달렸다
git remote prune origin
그러나 단 하나의 로컬 지점 만 제거되었습니다. 이 지점 중 일부는 저에 의해, 일부는 동료에 의해 만들어졌습니다. 이것은 처음에 해당 지점을 올바르게 추적하지 않았 음을 나타 냅니까?
을 사용 git push origin :staleStuff
하면 자동으로 제거 되므로을 ( origin/staleStuff
를) 실행 git remote prune origin
하면 다른 사람이 제거한 일부 분기를 제거했습니다. 이제 git prune
제거한 분기를 제거하기 위해 동료가 실행해야 할 가능성이 높습니다 .
정확히 무엇 git remote prune
입니까? 주요 아이디어 : 지점을 추적하지 않는 로컬 지점은 git remote prune
명령을 사용 하지 않으므로 수동으로 제거해야합니다.
이제 더 나은 이해를위한 실제 예 :
당신은 두 가지 원격 저장소를 가지고 master
와 feature
. 두 브랜치에서 작업하고 있다고 가정하면 결과적으로 로컬 저장소에 이러한 참조가 있습니다 (혼합을 피하기 위해 전체 참조 이름이 지정됨).
refs/heads/master
(짧은 이름master
)refs/heads/feature
(짧은 이름feature
)refs/remotes/origin/master
(짧은 이름origin/master
)refs/remotes/origin/feature
(짧은 이름origin/feature
)
이제 일반적인 시나리오는 다음과 같습니다.
- 일부 다른 개발자는의 모든 작업을 완료하고
feature
병합 하여 원격 저장소에서 분기를master
제거feature
합니다. - 기본적으로
git fetch
(또는git pull
) 작업을 수행하면 로컬 리포지토리에서 참조가 제거되지 않으므로 4 개의 참조가 모두 유지됩니다. - 정리하고 실행하기로 결정했습니다
git remote prune origin
. - 자식은 감지하지
feature
그래서 더 이상 존재 지점refs/remotes/origin/feature
A는 부실 제거해야 지점입니다. - 지금 당신은을 포함, 3 개의 참조를 가지고
refs/heads/feature
있기 때문에,git remote prune
어떤 제거하지 않습니다refs/heads/*
참조.
branch.<branch_name>.merge
구성 매개 변수 로 원격 추적 분기와 연관된 로컬 분기를 식별 할 수 있습니다 . 이 매개 변수는 실제로 작동하는 데 필요하지 않으므로 (아마도 제외 git pull
) 누락 될 수 있습니다.
(댓글의 예 및 유용한 정보로 업데이트 됨)
반응형
'developer tip' 카테고리의 다른 글
공유 라이브러리없이 GMP, MPFR, MPC, ELF를 사용하여 GCC를 개별적으로 설치하는 방법은 무엇입니까? (0) | 2020.07.28 |
---|---|
명령문 사용이 끝나기 전에 돌아 오면 어떻게됩니까? (0) | 2020.07.27 |
인덱스없이 팬더 DataFrame을 인쇄하는 방법 (0) | 2020.07.27 |
프로그래밍 방식으로 환율에 액세스 (0) | 2020.07.27 |
java.sql.timestamp를 LocalDate (java8) java.time로 변환하는 방법? (0) | 2020.07.27 |