Zero-downtime deployments swap releases via a symlink. While a new release is being prepared, the old one keeps serving traffic. Any file Statamic writes during that window (content edits, form submissions, asset uploads) lands in the old release's directory.
This often surfaces as a push failure: error: failed to push some refs to '…'. Updates were rejected because the remote contains work that you do not have locally. The old release's local git history is behind origin (the new code has already shipped), yet it's still the place Statamic tries to commit and push from.
Shared paths (a common ZDD feature, called "Shared Paths" in Laravel Forge, "Linked Folders" in Envoyer, equivalents in Ploi and others) fix the data-loss part by storing the runtime-writable directories in one persistent location and symlinking them into each release. But because those paths are now symlinks, Statamic's git automation can't track them