은 내가 주제와에있는 모든 개체를 제거하려는git 브랜치를 정말로 삭제하는 (즉, 모든 객체/커밋을 제거하는) 방법은 무엇입니까?
A---B---C topic
/
D---E---F---G master <--
같은 자식의 나무가 있습니다.
내가 주제의 SHA ID를 참고 한 후 입력 :
git branch -D topic
git gc # <-- I also tried prune here...
git checkout -b temp <SHA1 ID of topic>
을 마지막 명령 후 나는 오류 ("비 존재 오브젝트 ID ..."또는 somth 뭔가를 얻을 것으로 예상처럼.). 그러나 오류가없고 gitk는 위와 같은 트리 구조를 보여 줍니까?
내가 누락 된 부분 - gc/prune이 연결할 수없는 모든 개체를 삭제해야한다고 생각 했습니까?
VonC의 답변으로 문제의 사실을 설명합니다. "철학적 인"이유를 알고 싶다면 git이 우연히 아무 것도 삭제하지 못하도록 아주 열심히 시도하는 것입니다. 'git gc' 자체는 정리/재 포장 작업을위한 것입니다. 최근 작업을 삭제할 수 있도록하려면 좀 더 강하게 말해야합니다. – Cascabel