Git 저장소 릴리스 기록, 수천 개의 ref 대신 하나의 ref로 관리하는 방법
Maybe a better way to track the release history of a Git repo
ZipRecruiter의 Git 모노레포에서 배포할 때마다 refs/release/... 태그를 생성해 수천 개의 ref가 쌓였고, 이로 인해 Git 성능이 저하되고 로그가 복잡해졌다. 저자는 각 (tier, app) 쌍마다 하나의 ref만 두고, 메타정보 커밋을 연결 리스트로 구성하는 대안을 2019년에 제안했다. 이 방식은 Git의 기본 히스토리 메커니즘을 활용해 효율적이며, git log로 릴리스 기록을 조회하고 롤백 대상을 쉽게 찾을 수 있다.
Git은 수천 개의 커밋을 처리하도록 잘 설계되었지만, 수천 개의 ref를 처리하도록 설계되지는 않았다.