Git reachability explained

What are unreachable Git objects?

Git objects are reachable when at least one current ref can reach them through the exact object graph. GitSpire compares those objects with everything visible in your local Git object database—locally in your browser.

Current refs are the graph roots

Branches, tags, remote-tracking refs, stash, notes, and other names under refs/* can retain commits, tags, trees, and blobs. A detached HEAD is not itself a current ref under this definition.

Deleted files can remain in .git

Deleting a working-tree path does not rewrite older objects. A current ref may still reach an older tree containing its blob, or the object may remain locally after its last ref was removed.

Reflogs still matter

GitSpire can inspect currently present local reflogs separately. An object absent from current refs may still be kept for local recovery, and neither result establishes that it is safe to remove.

Read-only and local

Reachability is diagnostic. GitSpire does not run prune, garbage collection, or history rewriting, and repository data is not uploaded.

Browser-local inspection

Analyze repository reachability locally.

GitSpire processes the repository you choose locally. Repository contents are not uploaded or changed.

Analyze repository reachability locally