Local repository is a collection of packages (most usually custom packages created internally). Packages could be added to local repository at any moment, removed, moved or copied between repos. Multiple versions of the same package could be added to the repository. In order to capture current repository state, create snapshot.
Local repositories could be published either directly or from snapshot.