5f24f291c2
Submodule and worktree checkouts store .git as a file (gitdir: pointer); the carry-over only looked at directory names, so that form was still lost on rollback. Handle files with the same guard. Docstring now states the deliberate limit: an excluded entry whose skill dir the target snapshot lacks is dropped with staging (no orphan .git) and is not undoable via the safety snapshot, which excludes these paths as well.