Summary:
When using Source Control to protect apps and resources, user's can encounter a resource with a "naming conflict" title. This usually occurs when there is already an existing resource with the same name on 2 separate Retool instance/Spaces, and using Source Control to pull down one copy of a protected resource from Instance-A into Instance-B creating a resource with a "naming conflict" title. This can be avoided by protecting the resource first, then protecting the app.
How this happens:
When using Source Control to protect apps and resources, we usually recommend protecting a resource before protecting the App so that both resource and app can be carried down to your downstream Retool instance/Space. There's a small call-out in Retool when attempting to protect an App for the first time using a non-protected resource(for an app query) that's often missed:

When you don't protect the resource and protect the app anyway, the protected app in the downstream Retool instance will not have the resource available for the query used in your App. Users will then instinctively create the resource in the downstream instance separately, and connect that newly created resource to your app's query. Then when you protect your originally created resource afterwards, commit some changes to your app and merge it, your downstream instance may create a new resource with the title: "<resource_name>-naming conflict "
Scenario + Solution: