Watch at Ease세상을 읽고, 일상의 답을 찾다.

기술 · 실용 가이드

Git LFS clone 뒤 pointer text만 남았나요? history를 바꾸기 전에 object delivery를 증명하세요

pointer를 보존하고 attributes, endpoint, fetch, checkout을 분리해 정확한 SHA-256과 size를 검증합니다.

ko Original Git LFS object delivery chain
오리지널 편집 일러스트: prove every Git LFS delivery boundary. Watch at Ease

working tree의 Git LFS pointer는 파일 손상의 증거가 아닙니다. version, SHA-256 OID와 size를 기록하며 실패는 attributes, smudge policy, endpoint, 인증, remote object 또는 checkout에 있을 수 있습니다.

clone과 pointer를 보존하고 commit pointer에서 정확한 object bytes까지 증명합니다. 복구 가능한 누락을 불필요한 history rewrite로 만들지 않습니다.

pointer 보존과 분류

파일, path, commit을 복사하고 version, oid sha256, size를 편집 없이 기록합니다.

유효하지 않으면 중단하고, 유효하면 manual replacement, 넓은 reset, migrate를 하지 않습니다.

현재 ref의 tracking scope 증명

git check-attr와 git lfs ls-files로 path, OID, .gitattributes를 대조합니다.

git lfs env, version, ref, filter를 기록해 skip과 scope gap을 분리합니다.

smudge, fetch, checkout 분리

GIT_LFS_SKIP_SMUDGE, fetchexclude, CI 설정을 확인합니다. skip은 object loss가 아닙니다.

정확한 remote/ref를 fetch하고 상태를 보존한 뒤 선택한 path만 checkout합니다.

endpoint, 인증, availability 증명

endpoint와 auth mode를 기록합니다. Git은 SSH여도 LFS는 HTTPS일 수 있습니다.

401, 403, 404, timeout, exclude를 구분합니다. 없는 OID는 reinstall이나 reset으로 만들 수 없습니다.

좁게 materialize하고 검증

local object store의 OID를 확인하고 대상 path만 checkout하며 처음부터 fetch --all을 쓰지 않습니다.

file SHA-256, size, git status를 대조하고 모든 boundary가 설명될 때 종료합니다.

ko Original Git LFS pointer-to-bytes evidence tree
오리지널 편집 일러스트: preserve evidence and verify exact object bytes. Watch at Ease