2012-02-03 7 views
1

분기, 태그 및 git의 gc를 삭제하는 데 2 ​​가지 질문이 있습니다.태그가있는 분기 삭제

내가 2 개의 다른 버전의 소프트웨어를 유지할 프로젝트가 있다고 가정 해 보겠습니다. 버전 중 하나에서 여러 개의 태그를 만들었습니다. 이제는 더 이상 지원되지 않지만이 버전에 대한 개발 라인이 더 오래 필요하다는 것을 알고 있지만 아직도 역사적인 목적으로 유지하려고합니다. 그래서이 브랜치의 HEAD에 태그를 만들고 브랜치를 삭제합니다.

이제 첫 번째 질문은 여전히 ​​자식 태그가이 태그를 참조했거나 커밋해야 트리가 있으므로이 커밋을 삭제하지 않을 것이라고 가정하는 것이 안전할까요?

이제 길을 2 년 내리면 태그를 삭제할 때 더 이상 해당 코드에 액세스 할 필요가 없습니다.

나의 두 번째 질문은 이제 더 이상 태그/브랜치의 히스토리에 해당 커밋을 가지고 있다는 것을 나타내지 만, git의 gc는 (어떤 간격으로 설정 되었든간에) 커밋을 완전히 삭제할 것인가? 그것은 나무 지금

답변

2

첫 번째 질문, 그것은 커밋해야 난 아직도/참조 태그가 있기 때문에 이러한 커밋을 삭제하지 않습니다 자식의 GC를 가정하는 것이 안전하다?

오른쪽 - 태그가 여전히 해당 커밋 행을 참조하기 때문에 태그는 처리되지 않습니다.

내 두 번째 질문은, 이제 나는 더 이상/그들의 역사에서 그 커밋을 참조하는 태그/지점이 없다는 것을의 이눔 것 GC는 완전히 그가 (어떤 간격으로로 설정되어 있습니다) 커밋 삭제 하시겠습니까?

그렇습니다. 더 이상 참조가 없으므로 결국 수집됩니다.

관련 문제