Here’s an example:
Developer A publishes a feature to production
Developer B pulls Developer A’s branch and renames property X to Y, while creating property Z
Developer B removes the temporary directive from property Y (formerly X) and renames property Z to W with another temporary directive.
Developer B deploys this code to production. 2 things break:
1. Production won’t be able to rename Z to W, because according to the existing prod database, Z doesn’t exist yet.
2. Production will interpret the X to Y change as removing a field and adding a field, because it has no record of the temporary directive (It was added after Prod’s codeset, but before Developer B merged his code back in)