Combining both of the approaches
Often, project teams would like to use some parts and flexibility of the source code-centric approach without all of the added complexity. In most cases, this happens subconsciously, without the person even knowing there are the two mentioned approaches.
This can be achieved by a combination of both the source code-centric and environment-centric approaches. This means that the pipeline that does the export from your development environment will export a managed solution ZIP file but also unpack an unmanaged version of the solution to the repository. With that, we still have an environment-centric approach, but can easily recover from losing it since there is an unpacked version of the current solution in the repository. The mentioned problems around the “old” configuration would still be the same.