
데브옵스
Git Internal API를 활용한 .git 탐험
두줄요약
Git의 blob·tree·refs·HEAD를 직접 구성하며 내부 객체와 커밋 흐름을 설명했습니다.\n불필요한 객체를 줄이고 clone 옵션을 조합해 빌드 환경의 용량을 최적화했습니다.
구조와 흐름
- Porcelain 명령어와 내부 Plumbing 시스템의 구분
- blob·tree 객체, refs 포인터, 현재 브랜치를 가리키는 HEAD 구성
- index(stage) 등록, working tree 복원, commit 생성, 브랜치 ref 연결 과정
선택 이유
- Git 객체 저장 규약을 직접 구성하며 명령어 추상화 아래의 동작 원리 확인
- refs가 커밋을 참조해야
git log와 브랜치 이력 인식 가능
성능/운영 포인트
git clone과 sparse checkout에서 working directory와 달리 모든 브랜치·이전 커밋 객체를 내려받는 특성- 빌드 머신에서 불필요한 blob·tree·가비지 커밋 제거를 통한 clone 비용 절감
--single-branch --depth 1 --no-tag필터와 필요한 refs·objects 분리 활용
적용해볼 점
- Git 내부 객체 구조 기반의 모노레포 clone 용량 최적화 도구 설계
- checkout·reset·rebase 동작 이해를 위한
.git객체와 참조 관계 점검


