Unreachable objects are those that are not accessible by any refs.
As an example, say we have made two commits, and reset them to different heads by calling git reset <commit_id> command.
Though the git log command will not show the commit info, git still stores it internally as a dangling object.
git fsck --lost-foundgit reflog expire --expire=now --expire-unreachable=now --allgit prune --dry-run --verbose --progress --expire=nowgit prune --verbose --progress --expire=nowgit fsck --lost-found