git delete remotes : 원격 참조가 존재하지 않습니다.
간단히 말해서
- 병합 된 원격 원격 여러 대를 삭제하려면 어떻게해야합니까?
더 많은 배경;
마스터에 병합 된 수십 개의 리모컨이있는 git repo가 있습니다. 다음을 사용하여 이러한 리모컨을 한 번에 하나씩 삭제할 수 있습니다.
git push --delete origin myBranch-1234
그러나 이것은 모든 리모컨에 대해 느리고 지루한 프로세스입니다. 그래서이 명령을 시도하고 있습니다.
git branch -r --merged | grep origin | grep -v master | xargs git push origin --delete
git branch -r --merged
병합 된 모든 리모컨을 나열합니다.
grep origin
원점을 포함하도록 명령에 지시합니다.
grep -v master
마스터를 제외하도록 명령을 지시합니다.
xargs git push origin --delete
원격 목록을 삭제하도록 명령에 지시합니다.
모두 합쳐서 병합 된 모든 리모컨을 수집하고 삭제할 것으로 예상합니다.
위의 명령을 실행하면 병합 된 모든 리모컨에 대해 다음을 수신합니다.
error: unable to delete 'origin/myBranch-1234': remote ref does not exist
error: unable to delete 'origin/myBranch-1235': remote ref does not exist
error: unable to delete 'origin/myBranch-1236': remote ref does not exist
error: unable to delete 'origin/myBranch-1237': remote ref does not exist
... etc
그러나 이러한 리모컨은 존재하며 각각을 확인할 수 있습니다. 많은 사이트와 사람들은 git fetch --prune
누락 된 참조를 정리하기 위해 실행 하도록 권장합니다 . 이 리모컨이 모두 존재하기 때문에 아무 작업도 수행하지 않습니다.
그래서 저는 여러분에게 부탁합니다, 친애하는 스택 교환;
- 리모컨은 하나만 삭제할 수 있지만 여러 개는 삭제할 수없는 이유는 무엇입니까?
- 내 명령이 맞습니까?
작은 것이 빠진 것 같아요. 이것을 조사 할 때마다 올바르게 수행하는 것처럼 보이지만 위의 오류가 발생합니다.
먼저 원격 분기의 로컬 "캐시"를 정리해야 할 수도 있습니다. 다음을 실행 해보십시오.
git fetch -p origin
삭제하기 전에.
해당 분기가 원격 (원점)에서 제거됩니까? 그렇다면 간단히 할 수 있습니다.
git fetch --prune origin
그렇지 않으면 로컬에서 삭제 한 후에도 반환 될 수 있습니다.
업데이트 : 명령을 다시 보면 잘못 빌드하는 것 같습니다. 당신은 아마 원합니다
git push origin --delete myBranch-1234
그러나 대신 당신은
git push origin --delete origin/myBranch-1234
사용 sed
'원산지 /'부분을 제거하고 lttile의 변경 xargs
부분.
git branch -r --merged | grep origin | grep -v -e master | sed s/origin\\/// | xargs -I{} git push origin --delete {}
참고 URL : https://stackoverflow.com/questions/32147093/git-delete-remotes-remote-refs-do-not-exist
'Programing' 카테고리의 다른 글
C # Sort 및 OrderBy 비교 (0) | 2020.08.22 |
---|---|
iOS의 navigationController에서 뒤로 버튼 콜백 (0) | 2020.08.22 |
UINavigationBar가 iOS 7에서보기 상단을 덮지 않도록하는 방법은 무엇입니까? (0) | 2020.08.22 |
urllib2.urlopen에서 사용자 에이전트 변경 (0) | 2020.08.22 |
mysql 쿼리의 if 조건으로 계산 (0) | 2020.08.22 |